From d22dbc0942efc45cba1a4aed25c5f9058b6f9662 Mon Sep 17 00:00:00 2001 From: YogeshRajmane Date: Wed, 2 Aug 2023 01:21:38 -0400 Subject: [PATCH] Added use_global_scope_vlan knob for global scope vlan support --- provision/acc_provision/acc_provision.py | 3 +- .../templates/acc-provision-configmap.yaml | 14 +- .../templates/aci-containers.yaml | 10 + provision/acc_provision/test_main.py | 20 +- .../chained_mode_without_l3out.inp.yaml | 3 +- .../chained_mode_without_l3out.kube.yaml | 11 +- ...chained_mode_without_phys_domains.inp.yaml | 3 +- ...hained_mode_without_phys_domains.kube.yaml | 6 +- ...lavor_openshift_sdn_ovn_baremetal.inp.yaml | 3 +- ...avor_openshift_sdn_ovn_baremetal.kube.yaml | 6 +- ...work-21-ConfigMap-aci-operator-config.yaml | 2 +- ...ork-22-ConfigMap-acc-provision-config.yaml | 2 +- ...rk-23-ConfigMap-aci-containers-config.yaml | 17 +- ...ride_skip_node_network_provision.apic.txt} | 0 ...ride_skip_node_network_provision.inp.yaml} | 0 ...ide_skip_node_network_provision.kube.yaml} | 10 +- .../override_use_global_scope_vlan.apic.txt | 270 ++ .../override_use_global_scope_vlan.inp.yaml | 35 + .../override_use_global_scope_vlan.kube.yaml | 2307 +++++++++++++++++ ...h_preexisting_tenant_chained_mode.inp.yaml | 3 +- ..._preexisting_tenant_chained_mode.kube.yaml | 6 +- 21 files changed, 2684 insertions(+), 47 deletions(-) rename provision/testdata/{chained_mode_skip_node_network_provision.apic.txt => override_skip_node_network_provision.apic.txt} (100%) rename provision/testdata/{chained_mode_skip_node_network_provision.inp.yaml => override_skip_node_network_provision.inp.yaml} (100%) rename provision/testdata/{chained_mode_skip_node_network_provision.kube.yaml => override_skip_node_network_provision.kube.yaml} (82%) create mode 100644 provision/testdata/override_use_global_scope_vlan.apic.txt create mode 100644 provision/testdata/override_use_global_scope_vlan.inp.yaml create mode 100644 provision/testdata/override_use_global_scope_vlan.kube.yaml diff --git a/provision/acc_provision/acc_provision.py b/provision/acc_provision/acc_provision.py index 6eb1979ae..1385cf3f4 100755 --- a/provision/acc_provision/acc_provision.py +++ b/provision/acc_provision/acc_provision.py @@ -310,6 +310,7 @@ def config_default(): "enable": False, "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", "skip_node_network_provisioning": False, + "use_global_scope_vlan": False, } } return default_config @@ -501,7 +502,7 @@ def config_adjust_chained_mode(args, config, no_random): } } - if not config["user_config"]["chained_cni_config"]["skip_node_network_provisioning"]: + if not config["chained_cni_config"]["skip_node_network_provisioning"]: node_subnet = config["net_config"]["node_subnet"][0] config["net_config"]["node_subnet"] = node_subnet diff --git a/provision/acc_provision/templates/acc-provision-configmap.yaml b/provision/acc_provision/templates/acc-provision-configmap.yaml index d8b1cb31a..b7fda06ef 100644 --- a/provision/acc_provision/templates/acc-provision-configmap.yaml +++ b/provision/acc_provision/templates/acc-provision-configmap.yaml @@ -34,7 +34,7 @@ data: {% if config.user_config.aci_config.secondary_aep %} "secondary_aep": {{config.aci_config.secondary_aep|json}}, {% endif %} - {% if (config.user_config.chained_cni_config) and config.user_config.aci_config.physical_domain %} + {% if (config.user_config.chained_cni_config) and (config.user_config.aci_config.physical_domain) %} "physical_domain": { "domain": {{config.aci_config.physical_domain.domain|json}}, "vlan_pool": {{config.aci_config.physical_domain.vlan_pool|json}} @@ -94,15 +94,14 @@ data: }, {% elif (config.user_config.aci_config.vmm_domain) %} } - }{% if (config.user_config.aci_config.l3out) %}, - {% endif %} + }, {% endif %} - {% if((config.user_config.chained_cni_config) and (config.user_config.aci_config.l3out)) %} + {% if config.user_config.aci_config.l3out %} "l3out": { "name": {{config.aci_config.l3out.name|json}}, "external_networks": {{ config.aci_config.l3out.external_networks|json|indent(width=20) }} } - {% else %} + {% elif not config.user_config.chained_cni_config %} "l3out": { "name": {{config.aci_config.l3out.name|json}}, "external_networks": {{ config.aci_config.l3out.external_networks|json|indent(width=20) }} @@ -190,10 +189,13 @@ data: {% if config.user_config.chained_cni_config %} "chained_cni_config": { "enable": {{config.chained_cni_config.enable|json}}, - "primary_cni_path": {{config.chained_cni_config.primary_cni_path|json}}, {% if config.user_config.chained_cni_config.skip_node_network_provisioning %} "skip_node_network_provisioning": {{config.chained_cni_config.skip_node_network_provisioning|json}}, {% endif %} + {% if config.user_config.chained_cni_config.use_global_scope_vlan %} + "use_global_scope_vlan": {{config.chained_cni_config.use_global_scope_vlan|json}}, + {% endif %} + "primary_cni_path": {{config.chained_cni_config.primary_cni_path|json}} }, {% endif %} "net_config": { diff --git a/provision/acc_provision/templates/aci-containers.yaml b/provision/acc_provision/templates/aci-containers.yaml index 6c4de7179..6f9cc29f2 100644 --- a/provision/acc_provision/templates/aci-containers.yaml +++ b/provision/acc_provision/templates/aci-containers.yaml @@ -1369,6 +1369,11 @@ data: "aci-vmm-controller": {{config.aci_config.vmm_domain.controller|json}}, {% endif %} "aci-additional-vlans": {{ config.net_config.secondary_vlans|json|indent(width=8) }}, + {% if config.chained_cni_config.use_global_scope_vlan %} + "aci-use-global-scope-vlan": true, + {% else %} + "aci-use-global-scope-vlan": false, + {% endif %} "aci-policy-tenant": {{config.kube_config.default_endpoint_group.tenant|json}}, {% if config.kube_config.hpp_optimization %} "hpp-optimization": {{ config.kube_config.hpp_optimization|json }}, @@ -1549,6 +1554,11 @@ data: "interface-mtu-headroom": {{ config.net_config.interface_mtu_headroom|json }}, {% endif %} "aci-additional-vlans": {{ config.net_config.secondary_vlans|json|indent(width=8) }}, + {% if config.chained_cni_config.use_global_scope_vlan %} + "aci-use-global-scope-vlan": true, + {% else %} + "aci-use-global-scope-vlan": false, + {% endif %} {% if config.drop_log_config.enable %} "enable-drop-log": true, {% else %} diff --git a/provision/acc_provision/test_main.py b/provision/acc_provision/test_main.py index 82463e369..cd6c40320 100644 --- a/provision/acc_provision/test_main.py +++ b/provision/acc_provision/test_main.py @@ -756,13 +756,13 @@ def test_preexisting_tenant_chained_mode(): @in_testdir -def test_chained_mode_skip_node_network_provision(): +def test_override_skip_node_network_provision(): run_provision( - "chained_mode_skip_node_network_provision.inp.yaml", - "chained_mode_skip_node_network_provision.kube.yaml", + "override_skip_node_network_provision.inp.yaml", + "override_skip_node_network_provision.kube.yaml", None, None, - "chained_mode_skip_node_network_provision.apic.txt", + "override_skip_node_network_provision.apic.txt", overrides={"flavor": "openshift-sdn-ovn-baremetal"} ) @@ -791,6 +791,18 @@ def test_chained_mode_without_phys_domains(): ) +@in_testdir +def test_override_use_global_scope_vlan(): + run_provision( + "override_use_global_scope_vlan.inp.yaml", + "override_use_global_scope_vlan.kube.yaml", + None, + None, + "override_use_global_scope_vlan.apic.txt", + overrides={"flavor": "openshift-sdn-ovn-baremetal"} + ) + + @in_testdir def test_flavor_openshift_411_baremetal(): run_provision( diff --git a/provision/testdata/chained_mode_without_l3out.inp.yaml b/provision/testdata/chained_mode_without_l3out.inp.yaml index 860727d40..7683c87f9 100644 --- a/provision/testdata/chained_mode_without_l3out.inp.yaml +++ b/provision/testdata/chained_mode_without_l3out.inp.yaml @@ -27,5 +27,4 @@ net_config: chained_cni_config: enable: true - primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" - skip_node_network_provisioning: false \ No newline at end of file + primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" \ No newline at end of file diff --git a/provision/testdata/chained_mode_without_l3out.kube.yaml b/provision/testdata/chained_mode_without_l3out.kube.yaml index 9bc7a2aec..1e82efc9b 100644 --- a/provision/testdata/chained_mode_without_l3out.kube.yaml +++ b/provision/testdata/chained_mode_without_l3out.kube.yaml @@ -1296,7 +1296,7 @@ data: spec: |- { "flavor": "openshift-sdn-ovn-baremetal", - "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1jb21tb24vY3R4LWt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktbDNvdXQiOiBudWxsLAogICAgICAgICJhY2ktZXh0LW5ldHdvcmtzIjogbnVsbAogICAgfQogIGhvc3QtYWdlbnQtY29uZmlnOiB8LQogICAgewogICAgICAgICJmbGF2b3IiOiAib3BlbnNoaWZ0LXNkbi1vdm4tYmFyZW1ldGFsIiwKICAgICAgICAiYXBwLXByb2ZpbGUiOiAibmV0b3Ata3ViZSIsCiAgICAgICAgImNoYWluZWQtbW9kZSI6IHRydWUsCiAgICAgICAgInByaW1hcnktY25pLXBhdGgiOiAiL21udC9jbmktY29uZi9jbmkvbmV0LmQvMTAtb3ZuLWt1YmVybmV0ZXMuY29uZiIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktcHJlZml4IjogImt1YmUiLAogICAgICAgICJrdWJlYXBpLXZsYW4iOiA0MDAxLAogICAgICAgICJub2RlLXN1Ym5ldCI6ICIxMC4xLjAuMS8xNiIsCiAgICAgICAgImFjaS1hZGRpdGlvbmFsLXZsYW5zIjogIls0MDAyLCA0MDAzLCA0MDA5LCA0MDA0LTQwMDddIiwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK" + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiYWNpLXBvbGljeS10ZW5hbnQiOiAia3ViZSIsCiAgICAgICAgImFjaS1ub2RlYmQtZG4iOiAidW5pL3RuLWt1YmUvQkQtbmV0b3Atbm9kZXMiLAogICAgICAgICJhY2ktc2VydmljZS1waHlzLWRvbSI6ICJrdWJlLXBoeXNkb20iLAogICAgICAgICJhY2ktc2VydmljZS1lbmNhcCI6ICJ2bGFuLU5vbmUiLAogICAgICAgICJhY2ktcGJyLXRyYWNraW5nLW5vbi1zbmF0IjogZmFsc2UsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLWNvbW1vbi9jdHgta3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS1sM291dCI6IG51bGwsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBudWxsCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdm1tLXR5cGUiOiAiS3ViZXJuZXRlcyIsCiAgICAgICAgImFjaS12bW0tZG9tYWluIjogImt1YmUiLAogICAgICAgICJhY2ktdm1tLWNvbnRyb2xsZXIiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IDQwMDEsCiAgICAgICAgIm5vZGUtc3VibmV0IjogIjEwLjEuMC4xLzE2IiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJhY2ktdXNlLWdsb2JhbC1zY29wZS12bGFuIjogZmFsc2UsCiAgICAgICAgImVuYWJsZS1kcm9wLWxvZyI6IHRydWUsCiAgICAgICAgImVuYWJsZS1ub2RlcG9kaWYiOiBmYWxzZQogICAgfQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VjcmV0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS11c2VyLWNlcnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCmRhdGE6CiAgdXNlci5rZXk6IExTMHRMUzFDUlVkSlRpQlFVa2xXUVZSRklFdEZXUzB0TFMwdENrMUpTVU5rWjBsQ1FVUkJUa0puYTNGb2EybEhPWGN3UWtGUlJVWkJRVk5EUVcxQmQyZG5TbU5CWjBWQlFXOUhRa0ZPY2l0QksyZFBTMkpCVmxaeVNuTUtZak1yV2xkaVkyNVdXRzh2WjJSMWVFbFVhM1p0TURsclpXbEdRMjRyVlhBdlUwZGtjWFkyUVdncmFteEtaa1kzZFhZclJtZERTblJEZUVRNE4zRlpkd293Y1RWRVkwZFdURWxqWmtZMFdsVmlPVUk0Y2twWFMwSkpObmRLWm5oMFRXWkdkVlZPV1RJMFkyZDNVWEJLY1hKTlZYRkJSSG92VFZjcmQzSmFaV2h6Q2xOdVJuTjVaWGRZVWpNNE9HVlNOMFZMYWtSWFpXZGtTbmxRWTFoQlowMUNRVUZGUTJkWlFqbEJXR0l4V21aQ1EwSlZlRUlyVldkRlZFZE5OeXMwV0RrS2FraGllVVV3UW14NGJHdG1hbkpzZDJSMmJWTTVUVGMzS3pKYU5tUkxRV2RRTXpOVVVrMHZVSGRGVFU5Wk4xSnVaRUp2SzFnMmVFUnpWbVJqVkVwSmVRbzFWbmM0ZUZWYWJISXJZWFZGVDJ4ek1scHVXbmd4TVdVMWVtZzNjMVV6VG1vMVN6TTFRbGRTT1VkVVdFbzJVRTFrY0ZRME9XeENPV0pzYkUxcVJISk1DamNyTldKRGMyUjFOak5QT0V0aFRqbFpVVXBDUVZCSFRXSndTSEJHYzNSRE1XTlhSM0JTVVhnemFYZEdLMXBNV1VGeVFWVmlRMHRpVjFGbVltbGFWSEFLUTFNNFJHZFBiWGxWTjNWTFZGSkxhVU1yTWxKWlZGTXpjSEpNVmpVM1IzWm1aa1o0U21wVWQwZDVhME5SVVVSdlIwSjNaalZwVDNONWRVMVJUbm8zU3dwU2FYSmlSREJLTjFJMldXVlJhMHBhSzNCRFpVdDNlU3RPZVVseGVHZ3dURUpFYlVKNWJWTkxkbGd3VjBWTFEybDBUMmR3YVRNeVJsZENiM0ZJYW1ZekNrMVJaeTlCYTBKTVFreFNjV1ZLZG5SelQyOHpiVXRQTkdFcmVESmxOM2xTVlV0ck1VTnZTM3BHVGtKSU1HNVZaVmhIYmxCM2FWUk9ZaXRpTVdabVUwWUtOM1pKU21KSVpHMUxaM1ZLZVRCc1ZVNUJOMGhhTnpkWUwybEtVa0ZyUVdwdVltVk1TMXA2YkRScmFWQTNNM0JwVUdaNFRHMHpOMlpRYWtvcmVVUnZOQXBhY0hkVmRWcFNLME5EV0d4SVNIWlBaV1p3T1UxV2NsZGpOV1ZxWTBNdlIyRkROazFYV1hsTmFuVlhUU3Q0UVhCcVkzVjJRV3RGUVhwWkszQXhOREJEQ25oM2NISTVOV3hwYm01MlYyTkROMDQzTURoQlNrWnBiVE12UmxVeE1FZEViemMzZVVsUFNUVm9LelV6TjBwaVdXUnROVFUxYUU5bFNDOUxhbE5sYTJnS1JVWTBUVzE0VWxCdGFYUTVPWGM5UFFvdExTMHRMVVZPUkNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQogIHVzZXIuY3J0OiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VJMlJFTkRRVlpGUTBGblVHOU5RVEJIUTFOeFIxTkpZak5FVVVWQ1FsRlZRVTFFZDNoRGVrRktRbWRPVmtKQldWUkJiRlpVVFZKWmQwWkJXVVFLVmxGUlMwUkJNVVJoV0U1cVlubENWR1ZZVGpCYVZ6RjZUVkpWZDBWM1dVUldVVkZFUkVGNFZtTXlWbmxKUnpGb1ltMVNiRnBZUVhkSWFHTk9UVlJqZHdwT1ZFVXlUV3BGZVU5VVRYZFhhR05PVFdwamQwNVVSVEJOYWtWNVQxUk5kMWRxUVRoTlVYTjNRMUZaUkZaUlVVZEZkMHBXVlhwRlYwMUNVVWRCTVZWRkNrTm5kMDVSTW14NldUSTRaMVV6Ykhwa1IxWjBZM3BGVmsxQ1RVZEJNVlZGUVhkM1RWWllUbXhqYVVKMFdWYzFhMXBYVm5kTlNVZG1UVUV3UjBOVGNVY0tVMGxpTTBSUlJVSkJVVlZCUVRSSFRrRkVRMEpwVVV0Q1oxRkVZUzluVUc5RWFXMTNSbFpoZVdKSE9TOXRWbTB6U2pGV05sQTBTR0p6VTBVMVREVjBVQXBhU0c5b1VYQXZiRXRtTUdodVlYSXJaMGxtYnpWVFdIaGxOM0l2YUZsQmFXSlJjMUV2VHpadFRVNUxkVkV6UW14VGVVaEllR1ZIVmtjdlVXWkxlVlpwQ21kVFQzTkRXRGhpVkVoNFlteEVWMDUxU0VsTlJVdFRZWEY2Umt0blFUZ3Zla1oyYzBzeVdHOWlSWEI0WWsxdWMwWXdaQzlRU0d0bGVFTnZkekZ1YjBnS1UyTnFNMFozU1VSQlVVRkNUVUV3UjBOVGNVZFRTV0l6UkZGRlFrSlJWVUZCTkVkQ1FVaFlLMnRNVkdVMlRFTkJRbVYzYlVOVWRrMXphblZ6U0dSd1dncHJhVEF4SzI1Uk4wdG9ia1ZTWWtKdEwzUmFOWE5qV2tVMFkzUkpjV05vTTI1NU1VVkpWRWhPZEZsWFMwSk9ORU5rVlV0amFuWkVWekpvTW5aclNHVm5DbkowV1dKV0swRmhSWE54TUcwMGRrZEdPVVZ0ZG5ReFkzQTVXVFF4U1hsTlFscFpjWGM0WXk5V01VRjBiVkpSWTFKVVdWRkJPRWd6VDBaRVkyaDVRaklLTUVwSVUwUnVRbTlUTjJabVUySkNlQW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gZXZlbnRzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgLSBzZXJ2aWNlYWNjb3VudHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHBhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvIgogIHJlc291cmNlczoKICAtIGNsdXN0ZXJyb2xlcwogIC0gY2x1c3RlcnJvbGViaW5kaW5ncwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIC0gZGFlbW9uc2V0cwogIC0gc3RhdGVmdWxzZXRzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBzZXJ2aWNlcy9zdGF0dXMKICB2ZXJiczoKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJtb25pdG9yaW5nLmNvcmVvcy5jb20iCiAgcmVzb3VyY2VzOgogIC0gc2VydmljZW1vbml0b3JzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGNyZWF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMvZmluYWxpemVycwogIC0gc25hdHBvbGljaWVzL3N0YXR1cwogIC0gbm9kZWluZm9zCiAgdmVyYnM6CiAgLSB1cGRhdGUKICAtIGNyZWF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gc25hdHBvbGljaWVzCiAgLSBub2RlaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0ZmxvdyIKICByZXNvdXJjZXM6CiAgLSBuZXRmbG93cG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZXJzcGFuIgogIHJlc291cmNlczoKICAtIGVyc3BhbnBvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtIGFwcHMub3BlbnNoaWZ0LmlvCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRuc25ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBkbnNuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGV2ZW50cwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kcm9wbG9nIgogIHJlc291cmNlczoKICAtIGVuYWJsZWRyb3Bsb2dzCiAgLSBwcnVuZWRyb3Bsb2dzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIG5vZGVpbmZvcwogIC0gc25hdGxvY2FsaW5mb3MKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiY29uZmlnLm9wZW5zaGlmdC5pbyIKICByZXNvdXJjZXM6CiAgLSBpbmZyYXN0cnVjdHVyZXMKICB2ZXJiczoKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOiBbIms4cy5jbmkuY25jZi5pbyJdCiAgcmVzb3VyY2VzOgogIC0gJyonCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwpzcGVjOgogIHVwZGF0ZVN0cmF0ZWd5OgogICAgdHlwZTogUm9sbGluZ1VwZGF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgICAgYW5ub3RhdGlvbnM6CiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBob3N0UElEOiB0cnVlCiAgICAgIGhvc3RJUEM6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtaG9zdDo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBzZWN1cml0eUNvbnRleHQ6CiAgICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUKICAgICAgICAgICAgY2FwYWJpbGl0aWVzOgogICAgICAgICAgICAgIGFkZDoKICAgICAgICAgICAgICAgIC0gU1lTX0FETUlOCiAgICAgICAgICAgICAgICAtIE5FVF9BRE1JTgogICAgICAgICAgICAgICAgLSBTWVNfUFRSQUNFCiAgICAgICAgICAgICAgICAtIE5FVF9SQVcKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBHT1RSQUNFQkFDSwogICAgICAgICAgICAgIHZhbHVlOiAiMiIKICAgICAgICAgICAgLSBuYW1lOiBLVUJFUk5FVEVTX05PREVfTkFNRQogICAgICAgICAgICAgIHZhbHVlRnJvbToKICAgICAgICAgICAgICAgIGZpZWxkUmVmOgogICAgICAgICAgICAgICAgICBmaWVsZFBhdGg6IHNwZWMubm9kZU5hbWUKICAgICAgICAgICAgLSBuYW1lOiBURU5BTlQKICAgICAgICAgICAgICB2YWx1ZTogImt1YmUiCiAgICAgICAgICAgIC0gbmFtZTogTk9ERV9FUEcKICAgICAgICAgICAgICB2YWx1ZTogIm5ldG9wLWt1YmV8bmV0b3Atbm9kZXMiCiAgICAgICAgICAgIC0gbmFtZTogTVVMVFVTCiAgICAgICAgICAgICAgdmFsdWU6ICdUcnVlJwogICAgICAgICAgICAtIG5hbWU6IERVUkFUSU9OX1dBSVRfRk9SX05FVFdPUksKICAgICAgICAgICAgICB2YWx1ZTogIjIxMCIKICAgICAgICAgICAgLSBuYW1lOiBDSEFJTkVEX01PREUKICAgICAgICAgICAgICB2YWx1ZTogInRydWUiCiAgICAgICAgICAgIC0gbmFtZTogUFJJTUFSWV9DTklfUEFUSAogICAgICAgICAgICAgIHZhbHVlOiAiL21udC9jbmktY29uZi9jbmkvbmV0LmQvMTAtb3ZuLWt1YmVybmV0ZXMuY29uZiIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1iaW4KICAgICAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktY29uZgogICAgICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvdmFyCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbW91bnRQYXRoOiAvcnVuL25ldG5zCiAgICAgICAgICAgICAgbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAgIG1vdW50UHJvcGFnYXRpb246IEhvc3RUb0NvbnRhaW5lcgogICAgICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9tdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTAKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHJlc3RhcnRQb2xpY3k6IEFsd2F5cwogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliCiAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbXVsdHVzCiAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3ZhcgogICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4KICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGhvc3QtYWdlbnQtY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBob3N0LWFnZW50LmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgLSBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvcnVuL211bHR1cy8KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGVwbG95bWVudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnNwZWM6CiAgcmVwbGljYXM6IDEKICBzdHJhdGVneToKICAgIHR5cGU6IFJlY3JlYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBlZmZlY3Q6IE5vRXhlY3V0ZQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgICAgdG9sZXJhdGlvblNlY29uZHM6IDYwCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS5rdWJlcm5ldGVzLmlvL25vdC1yZWFkeQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUtcm9sZS5rdWJlcm5ldGVzLmlvL21hc3RlcgogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcjo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogU1lTVEVNX05BTUVTUEFDRQogICAgICAgICAgICAgIHZhbHVlOiAiYWNpLWNvbnRhaW5lcnMtc3lzdGVtIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY2VydC8KICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTEKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgc2VjcmV0OgogICAgICAgICAgICBzZWNyZXROYW1lOiBhY2ktdXNlci1jZXJ0CiAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBjb250cm9sbGVyLWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogY29udHJvbGxlci5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogTGltaXRSYW5nZQptZXRhZGF0YToKICBuYW1lOiBtZW1vcnktbGltaXQtcmFuZ2UKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQpzcGVjOgogIGxpbWl0czoKICAtIGRlZmF1bHQ6CiAgICAgIG1lbW9yeTogM0dpCiAgICBkZWZhdWx0UmVxdWVzdDoKICAgICAgbWVtb3J5OiAxMjhNaQogICAgdHlwZTogQ29udGFpbmVyCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgYW5ub3RhdGlvbnM6CiAgICBjb250cm9sbGVyLWdlbi5rdWJlYnVpbGRlci5pby92ZXJzaW9uOiB2MC4xMi4wCiAgbmFtZTogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cy5hY2kuZmFicmljYXR0YWNobWVudApzcGVjOgogIGdyb3VwOiBhY2kuZmFicmljYXR0YWNobWVudAogIG5hbWVzOgogICAga2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50CiAgICBsaXN0S2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50TGlzdAogICAgcGx1cmFsOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgICBzaG9ydE5hbWVzOgogICAgLSBuZm5hCiAgICBzaW5ndWxhcjogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnQgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIEZhYnJpY0F0dGFjaG1lbnRzCiAgICAgICAgICBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbgogICAgICAgICAgICAgIG9mIGFuIG9iamVjdC4gU2VydmVycyBzaG91bGQgY29udmVydCByZWNvZ25pemVkIHNjaGVtYXMgdG8gdGhlIGxhdGVzdAogICAgICAgICAgICAgIGludGVybmFsIHZhbHVlLCBhbmQgbWF5IHJlamVjdCB1bnJlY29nbml6ZWQgdmFsdWVzLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3Jlc291cmNlcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0tpbmQgaXMgYSBzdHJpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBSRVNUIHJlc291cmNlIHRoaXMKICAgICAgICAgICAgICBvYmplY3QgcmVwcmVzZW50cy4gU2VydmVycyBtYXkgaW5mZXIgdGhpcyBmcm9tIHRoZSBlbmRwb2ludCB0aGUgY2xpZW50CiAgICAgICAgICAgICAgc3VibWl0cyByZXF1ZXN0cyB0by4gQ2Fubm90IGJlIHVwZGF0ZWQuIEluIENhbWVsQ2FzZS4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCN0eXBlcy1raW5kcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgbmV0d29yawogICAgICAgICAgICAgIGF0dGFjaG1lbnQgdG8gdGhlIGZhYnJpYwogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGFjaVRvcG9sb2d5OgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgZmFicmljTGluazoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgcG9kczoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsSWZhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RSZWY6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IE1hcCBvZiBpZmFjZSB0byBmYWJyaWNMaW5rCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBlbmNhcFZsYW46CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBuZXR3b3JrUmVmOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTUEVDIEZJRUxEUyAtIGRlc2lyZWQgc3RhdGUgb2YgY2x1c3RlcgogICAgICAgICAgICAgICAgICBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZSBjb2RlIGFmdGVyCiAgICAgICAgICAgICAgICAgIG1vZGlmeWluZyB0aGlzIGZpbGUgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyIHRhZ3M6CiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwgTmV0d29ya1JlZgogICAgICAgICAgICAgICAgICBpcyB0aGUgbnMvbmV0LWF0dC1kZWYgbmFtZSwgdXNlZCBhcyBwYXJ0IG9mIHRoZSBlcGcgbnMtPE5ldHdvcmtOYW1lPicKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgbm9kZU5hbWU6CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBwcmltYXJ5Q25pOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdpbmZvcm1hdGlvbmFsOiBwcmltYXJ5Q05JIHNyaW92L21hY3ZsYW4nCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gbmV0d29ya1JlZgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mCiAgICAgICAgICAgICAgRmFicmljQXR0YWNobWVudAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHN0YXRlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTVEFUVVMgRklFTEQgLSBkZWZpbmUgb2JzZXJ2ZWQgc3RhdGUKICAgICAgICAgICAgICAgICAgb2YgY2x1c3RlciBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZQogICAgICAgICAgICAgICAgICBjb2RlIGFmdGVyIG1vZGlmeWluZyB0aGlzIGZpbGU3IEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlcgogICAgICAgICAgICAgICAgICB0YWdzOiBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIHN0YXRlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCg==" } --- apiVersion: v1 @@ -1341,14 +1341,11 @@ data: "start": "225.20.1.1", "end": "225.20.255.255" } - } "l3out": { - "name": null, - "external_networks": null - } + }, }, "chained_cni_config": { "enable": true, - "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" }, "net_config": { "kubeapi_vlan": 4001, @@ -1385,6 +1382,7 @@ data: "aci-vmm-domain": "kube", "aci-vmm-controller": "kube", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "aci-policy-tenant": "kube", "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", "aci-service-phys-dom": "kube-physdom", @@ -1412,6 +1410,7 @@ data: "kubeapi-vlan": 4001, "node-subnet": "10.1.0.1/16", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "enable-drop-log": true, "enable-nodepodif": false } diff --git a/provision/testdata/chained_mode_without_phys_domains.inp.yaml b/provision/testdata/chained_mode_without_phys_domains.inp.yaml index d5873d99b..5b0b3f039 100644 --- a/provision/testdata/chained_mode_without_phys_domains.inp.yaml +++ b/provision/testdata/chained_mode_without_phys_domains.inp.yaml @@ -28,5 +28,4 @@ net_config: chained_cni_config: enable: true - primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" - skip_node_network_provisioning: false \ No newline at end of file + primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" \ No newline at end of file diff --git a/provision/testdata/chained_mode_without_phys_domains.kube.yaml b/provision/testdata/chained_mode_without_phys_domains.kube.yaml index 4d9073a76..bef264221 100644 --- a/provision/testdata/chained_mode_without_phys_domains.kube.yaml +++ b/provision/testdata/chained_mode_without_phys_domains.kube.yaml @@ -1296,7 +1296,7 @@ data: spec: |- { "flavor": "openshift-sdn-ovn-baremetal", - "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1jb21tb24vY3R4LWt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktbDNvdXQiOiAibDNvdXQiLAogICAgICAgICJhY2ktZXh0LW5ldHdvcmtzIjogWwogICAgICAgICAgICAiZGVmYXVsdCIKICAgICAgICBdCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdm1tLXR5cGUiOiAiS3ViZXJuZXRlcyIsCiAgICAgICAgImFjaS12bW0tZG9tYWluIjogImt1YmUiLAogICAgICAgICJhY2ktdm1tLWNvbnRyb2xsZXIiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IDQwMDEsCiAgICAgICAgIm5vZGUtc3VibmV0IjogIjEwLjEuMC4xLzE2IiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJlbmFibGUtZHJvcC1sb2ciOiB0cnVlLAogICAgICAgICJlbmFibGUtbm9kZXBvZGlmIjogZmFsc2UKICAgIH0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlY3JldAptZXRhZGF0YToKICBuYW1lOiBhY2ktdXNlci1jZXJ0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgpkYXRhOgogIHVzZXIua2V5OiBMUzB0TFMxQ1JVZEpUaUJRVWtsV1FWUkZJRXRGV1MwdExTMHRDazFKU1VOa1owbENRVVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJSVVpCUVZORFFXMUJkMmRuU21OQlowVkJRVzlIUWtGT2NpdEJLMmRQUzJKQlZsWnlTbk1LWWpNcldsZGlZMjVXV0c4dloyUjFlRWxVYTNadE1EbHJaV2xHUTI0clZYQXZVMGRrY1hZMlFXZ3JhbXhLWmtZM2RYWXJSbWREU25SRGVFUTROM0ZaZHdvd2NUVkVZMGRXVEVsalprWTBXbFZpT1VJNGNrcFhTMEpKTm5kS1puaDBUV1pHZFZWT1dUSTBZMmQzVVhCS2NYSk5WWEZCUkhvdlRWY3JkM0phWldoekNsTnVSbk41WlhkWVVqTTRPR1ZTTjBWTGFrUlhaV2RrU25sUVkxaEJaMDFDUVVGRlEyZFpRamxCV0dJeFdtWkNRMEpWZUVJclZXZEZWRWROTnlzMFdEa0tha2hpZVVVd1FteDRiR3RtYW5Kc2QyUjJiVk01VFRjM0t6SmFObVJMUVdkUU16TlVVazB2VUhkRlRVOVpOMUp1WkVKdksxZzJlRVJ6Vm1SalZFcEplUW8xVm5jNGVGVmFiSElyWVhWRlQyeHpNbHB1V25neE1XVTFlbWczYzFVelRtbzFTek0xUWxkU09VZFVXRW8yVUUxa2NGUTBPV3hDT1dKc2JFMXFSSEpNQ2pjck5XSkRjMlIxTmpOUE9FdGhUamxaVVVwQ1FWQkhUV0p3U0hCR2MzUkRNV05YUjNCU1VYZ3phWGRHSzFwTVdVRnlRVlZpUTB0aVYxRm1ZbWxhVkhBS1ExTTRSR2RQYlhsVk4zVkxWRkpMYVVNck1sSlpWRk16Y0hKTVZqVTNSM1ptWmtaNFNtcFVkMGQ1YTBOUlVVUnZSMEozWmpWcFQzTjVkVTFSVG5vM1N3cFNhWEppUkRCS04xSTJXV1ZSYTBwYUszQkRaVXQzZVN0T2VVbHhlR2d3VEVKRWJVSjViVk5MZGxnd1YwVkxRMmwwVDJkd2FUTXlSbGRDYjNGSWFtWXpDazFSWnk5QmEwSk1Ra3hTY1dWS2RuUnpUMjh6YlV0UE5HRXJlREpsTjNsU1ZVdHJNVU52UzNwR1RrSklNRzVWWlZoSGJsQjNhVlJPWWl0aU1XWm1VMFlLTjNaSlNtSklaRzFMWjNWS2VUQnNWVTVCTjBoYU56ZFlMMmxLVWtGclFXcHVZbVZNUzFwNmJEUnJhVkEzTTNCcFVHWjRURzB6TjJaUWFrb3JlVVJ2TkFwYWNIZFZkVnBTSzBORFdHeElTSFpQWldad09VMVdjbGRqTldWcVkwTXZSMkZETmsxWFdYbE5hblZYVFN0NFFYQnFZM1YyUVd0RlFYcFpLM0F4TkRCRENuaDNjSEk1Tld4cGJtNTJWMk5ETjA0M01EaEJTa1pwYlRNdlJsVXhNRWRFYnpjM2VVbFBTVFZvS3pVek4wcGlXV1J0TlRVMWFFOWxTQzlMYWxObGEyZ0tSVVkwVFcxNFVsQnRhWFE1T1hjOVBRb3RMUzB0TFVWT1JDQlFVa2xXUVZSRklFdEZXUzB0TFMwdENnPT0KICB1c2VyLmNydDogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSTJSRU5EUVZaRlEwRm5VRzlOUVRCSFExTnhSMU5KWWpORVVVVkNRbEZWUVUxRWQzaERla0ZLUW1kT1ZrSkJXVlJCYkZaVVRWSlpkMFpCV1VRS1ZsRlJTMFJCTVVSaFdFNXFZbmxDVkdWWVRqQmFWekY2VFZKVmQwVjNXVVJXVVZGRVJFRjRWbU15Vm5sSlJ6Rm9ZbTFTYkZwWVFYZElhR05PVFZSamR3cE9WRVV5VFdwRmVVOVVUWGRYYUdOT1RXcGpkMDVVUlRCTmFrVjVUMVJOZDFkcVFUaE5VWE4zUTFGWlJGWlJVVWRGZDBwV1ZYcEZWMDFDVVVkQk1WVkZDa05uZDA1Uk1teDZXVEk0WjFVemJIcGtSMVowWTNwRlZrMUNUVWRCTVZWRlFYZDNUVlpZVG14amFVSjBXVmMxYTFwWFZuZE5TVWRtVFVFd1IwTlRjVWNLVTBsaU0wUlJSVUpCVVZWQlFUUkhUa0ZFUTBKcFVVdENaMUZFWVM5blVHOUVhVzEzUmxaaGVXSkhPUzl0Vm0welNqRldObEEwU0dKelUwVTFURFYwVUFwYVNHOW9VWEF2YkV0bU1HaHVZWElyWjBsbWJ6VlRXSGhsTjNJdmFGbEJhV0pSYzFFdlR6WnRUVTVMZFZFelFteFRlVWhJZUdWSFZrY3ZVV1pMZVZacENtZFRUM05EV0RoaVZFaDRZbXhFVjA1MVNFbE5SVXRUWVhGNlJrdG5RVGd2ZWtaMmMwc3lXRzlpUlhCNFlrMXVjMFl3WkM5UVNHdGxlRU52ZHpGdWIwZ0tVMk5xTTBaM1NVUkJVVUZDVFVFd1IwTlRjVWRUU1dJelJGRkZRa0pSVlVGQk5FZENRVWhZSzJ0TVZHVTJURU5CUW1WM2JVTlVkazF6YW5WelNHUndXZ3ByYVRBeEsyNVJOMHRvYmtWU1lrSnRMM1JhTlhOaldrVTBZM1JKY1dOb00yNTVNVVZKVkVoT2RGbFhTMEpPTkVOa1ZVdGphblpFVnpKb01uWnJTR1ZuQ25KMFdXSldLMEZoUlhOeE1HMDBka2RHT1VWdGRuUXhZM0E1V1RReFNYbE5RbHBaY1hjNFl5OVdNVUYwYlZKUlkxSlVXVkZCT0VnelQwWkVZMmg1UWpJS01FcElVMFJ1UW05VE4yWm1VMkpDZUFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIGV2ZW50cwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIC0gc2VydmljZWFjY291bnRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBwYXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAicmJhYy5hdXRob3JpemF0aW9uLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjbHVzdGVycm9sZXMKICAtIGNsdXN0ZXJyb2xlYmluZGluZ3MKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICAtIGRhZW1vbnNldHMKICAtIHN0YXRlZnVsc2V0cwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gc2VydmljZXMvc3RhdHVzCiAgdmVyYnM6CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAibW9uaXRvcmluZy5jb3Jlb3MuY29tIgogIHJlc291cmNlczoKICAtIHNlcnZpY2Vtb25pdG9ycwogIHZlcmJzOgogIC0gZ2V0CiAgLSBjcmVhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzL2ZpbmFsaXplcnMKICAtIHNuYXRwb2xpY2llcy9zdGF0dXMKICAtIG5vZGVpbmZvcwogIHZlcmJzOgogIC0gdXBkYXRlCiAgLSBjcmVhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHNuYXRwb2xpY2llcwogIC0gbm9kZWluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldGZsb3ciCiAgcmVzb3VyY2VzOgogIC0gbmV0Zmxvd3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmVyc3BhbiIKICByZXNvdXJjZXM6CiAgLSBlcnNwYW5wb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSBhcHBzLm9wZW5zaGlmdC5pbwogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kbnNuZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gZG5zbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBldmVudHMKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzCiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuZHJvcGxvZyIKICByZXNvdXJjZXM6CiAgLSBlbmFibGVkcm9wbG9ncwogIC0gcHJ1bmVkcm9wbG9ncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBub2RlaW5mb3MKICAtIHNuYXRsb2NhbGluZm9zCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImNvbmZpZy5vcGVuc2hpZnQuaW8iCiAgcmVzb3VyY2VzOgogIC0gaW5mcmFzdHJ1Y3R1cmVzCiAgdmVyYnM6CiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczogWyJrOHMuY25pLmNuY2YuaW8iXQogIHJlc291cmNlczoKICAtICcqJwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGFlbW9uU2V0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKc3BlYzoKICB1cGRhdGVTdHJhdGVneToKICAgIHR5cGU6IFJvbGxpbmdVcGRhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICAgIGFubm90YXRpb25zOgogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgaG9zdFBJRDogdHJ1ZQogICAgICBob3N0SVBDOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWhvc3Q6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgc2VjdXJpdHlDb250ZXh0OgogICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICAgICAgICAgIGNhcGFiaWxpdGllczoKICAgICAgICAgICAgICBhZGQ6CiAgICAgICAgICAgICAgICAtIFNZU19BRE1JTgogICAgICAgICAgICAgICAgLSBORVRfQURNSU4KICAgICAgICAgICAgICAgIC0gU1lTX1BUUkFDRQogICAgICAgICAgICAgICAgLSBORVRfUkFXCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogR09UUkFDRUJBQ0sKICAgICAgICAgICAgICB2YWx1ZTogIjIiCiAgICAgICAgICAgIC0gbmFtZTogS1VCRVJORVRFU19OT0RFX05BTUUKICAgICAgICAgICAgICB2YWx1ZUZyb206CiAgICAgICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICAgICAgZmllbGRQYXRoOiBzcGVjLm5vZGVOYW1lCiAgICAgICAgICAgIC0gbmFtZTogVEVOQU5UCiAgICAgICAgICAgICAgdmFsdWU6ICJrdWJlIgogICAgICAgICAgICAtIG5hbWU6IE5PREVfRVBHCiAgICAgICAgICAgICAgdmFsdWU6ICJuZXRvcC1rdWJlfG5ldG9wLW5vZGVzIgogICAgICAgICAgICAtIG5hbWU6IE1VTFRVUwogICAgICAgICAgICAgIHZhbHVlOiAnVHJ1ZScKICAgICAgICAgICAgLSBuYW1lOiBEVVJBVElPTl9XQUlUX0ZPUl9ORVRXT1JLCiAgICAgICAgICAgICAgdmFsdWU6ICIyMTAiCiAgICAgICAgICAgIC0gbmFtZTogQ0hBSU5FRF9NT0RFCiAgICAgICAgICAgICAgdmFsdWU6ICJ0cnVlIgogICAgICAgICAgICAtIG5hbWU6IFBSSU1BUllfQ05JX1BBVEgKICAgICAgICAgICAgICB2YWx1ZTogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktYmluCiAgICAgICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWNvbmYKICAgICAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3ZhcgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG1vdW50UGF0aDogL3J1bi9uZXRucwogICAgICAgICAgICAgIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgICBtb3VudFByb3BhZ2F0aW9uOiBIb3N0VG9Db250YWluZXIKICAgICAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkwCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICByZXN0YXJ0UG9saWN5OiBBbHdheXMKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYgogICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL211bHR1cwogICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIKICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuCiAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBob3N0LWFnZW50LWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogaG9zdC1hZ2VudC5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgIC0gbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL25ldG5zCiAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL3J1bi9tdWx0dXMvCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERlcGxveW1lbnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzcGVjOgogIHJlcGxpY2FzOiAxCiAgc3RyYXRlZ3k6CiAgICB0eXBlOiBSZWNyZWF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gZWZmZWN0OiBOb0V4ZWN1dGUKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAgIHRvbGVyYXRpb25TZWNvbmRzOiA2MAogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLXJvbGUua3ViZXJuZXRlcy5pby9tYXN0ZXIKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWNvbnRyb2xsZXI6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IFNZU1RFTV9OQU1FU1BBQ0UKICAgICAgICAgICAgICB2YWx1ZTogImFjaS1jb250YWluZXJzLXN5c3RlbSIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNlcnQvCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkxCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgIHNlY3JldDoKICAgICAgICAgICAgc2VjcmV0TmFtZTogYWNpLXVzZXItY2VydAogICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogY29udHJvbGxlci1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGNvbnRyb2xsZXIuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IExpbWl0UmFuZ2UKbWV0YWRhdGE6CiAgbmFtZTogbWVtb3J5LWxpbWl0LXJhbmdlCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0Kc3BlYzoKICBsaW1pdHM6CiAgLSBkZWZhdWx0OgogICAgICBtZW1vcnk6IDNHaQogICAgZGVmYXVsdFJlcXVlc3Q6CiAgICAgIG1lbW9yeTogMTI4TWkKICAgIHR5cGU6IENvbnRhaW5lcgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIGFubm90YXRpb25zOgogICAgY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbjogdjAuMTIuMAogIG5hbWU6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMuYWNpLmZhYnJpY2F0dGFjaG1lbnQKc3BlYzoKICBncm91cDogYWNpLmZhYnJpY2F0dGFjaG1lbnQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudAogICAgbGlzdEtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudExpc3QKICAgIHBsdXJhbDogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogICAgc2hvcnROYW1lczoKICAgIC0gbmZuYQogICAgc2luZ3VsYXI6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudAogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBGYWJyaWNBdHRhY2htZW50cwogICAgICAgICAgQVBJCiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQVBJVmVyc2lvbiBkZWZpbmVzIHRoZSB2ZXJzaW9uZWQgc2NoZW1hIG9mIHRoaXMgcmVwcmVzZW50YXRpb24KICAgICAgICAgICAgICBvZiBhbiBvYmplY3QuIFNlcnZlcnMgc2hvdWxkIGNvbnZlcnQgcmVjb2duaXplZCBzY2hlbWFzIHRvIHRoZSBsYXRlc3QKICAgICAgICAgICAgICBpbnRlcm5hbCB2YWx1ZSwgYW5kIG1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCNyZXNvdXJjZXMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdLaW5kIGlzIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgUkVTVCByZXNvdXJjZSB0aGlzCiAgICAgICAgICAgICAgb2JqZWN0IHJlcHJlc2VudHMuIFNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudAogICAgICAgICAgICAgIHN1Ym1pdHMgcmVxdWVzdHMgdG8uIENhbm5vdCBiZSB1cGRhdGVkLiBJbiBDYW1lbENhc2UuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjdHlwZXMta2luZHMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIG5ldHdvcmsKICAgICAgICAgICAgICBhdHRhY2htZW50IHRvIHRoZSBmYWJyaWMKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhY2lUb3BvbG9neToKICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGZhYnJpY0xpbms6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvZHM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbElmYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kUmVmOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBNYXAgb2YgaWZhY2UgdG8gZmFicmljTGluawogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgZW5jYXBWbGFuOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgbmV0d29ya1JlZjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1BFQyBGSUVMRFMgLSBkZXNpcmVkIHN0YXRlIG9mIGNsdXN0ZXIKICAgICAgICAgICAgICAgICAgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUgY29kZSBhZnRlcgogICAgICAgICAgICAgICAgICBtb2RpZnlpbmcgdGhpcyBmaWxlIEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlciB0YWdzOgogICAgICAgICAgICAgICAgICBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sIE5ldHdvcmtSZWYKICAgICAgICAgICAgICAgICAgaXMgdGhlIG5zL25ldC1hdHQtZGVmIG5hbWUsIHVzZWQgYXMgcGFydCBvZiB0aGUgZXBnIG5zLTxOZXR3b3JrTmFtZT4nCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIG5vZGVOYW1lOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgcHJpbWFyeUNuaToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnaW5mb3JtYXRpb25hbDogcHJpbWFyeUNOSSBzcmlvdi9tYWN2bGFuJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIG5ldHdvcmtSZWYKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFN0YXR1cyBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZgogICAgICAgICAgICAgIEZhYnJpY0F0dGFjaG1lbnQKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBzdGF0ZToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1RBVFVTIEZJRUxEIC0gZGVmaW5lIG9ic2VydmVkIHN0YXRlCiAgICAgICAgICAgICAgICAgIG9mIGNsdXN0ZXIgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUKICAgICAgICAgICAgICAgICAgY29kZSBhZnRlciBtb2RpZnlpbmcgdGhpcyBmaWxlNyBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIKICAgICAgICAgICAgICAgICAgdGFnczogaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCcKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBzdGF0ZQogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQo=" + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiYWNpLXBvbGljeS10ZW5hbnQiOiAia3ViZSIsCiAgICAgICAgImFjaS1ub2RlYmQtZG4iOiAidW5pL3RuLWt1YmUvQkQtbmV0b3Atbm9kZXMiLAogICAgICAgICJhY2ktc2VydmljZS1waHlzLWRvbSI6ICJrdWJlLXBoeXNkb20iLAogICAgICAgICJhY2ktc2VydmljZS1lbmNhcCI6ICJ2bGFuLU5vbmUiLAogICAgICAgICJhY2ktcGJyLXRyYWNraW5nLW5vbi1zbmF0IjogZmFsc2UsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLWNvbW1vbi9jdHgta3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS1sM291dCI6ICJsM291dCIsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBbCiAgICAgICAgICAgICJkZWZhdWx0IgogICAgICAgIF0KICAgIH0KICBob3N0LWFnZW50LWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImFwcC1wcm9maWxlIjogIm5ldG9wLWt1YmUiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJsb2ctbGV2ZWwiOiAiaW5mbyIsCiAgICAgICAgImFjaS12bW0tdHlwZSI6ICJLdWJlcm5ldGVzIiwKICAgICAgICAiYWNpLXZtbS1kb21haW4iOiAia3ViZSIsCiAgICAgICAgImFjaS12bW0tY29udHJvbGxlciI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiAiY29tbW9uIiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAia3ViZWFwaS12bGFuIjogNDAwMSwKICAgICAgICAibm9kZS1zdWJuZXQiOiAiMTAuMS4wLjEvMTYiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK" } --- apiVersion: v1 @@ -1347,7 +1347,7 @@ data: }, "chained_cni_config": { "enable": true, - "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" }, "net_config": { "kubeapi_vlan": 4001, @@ -1384,6 +1384,7 @@ data: "aci-vmm-domain": "kube", "aci-vmm-controller": "kube", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "aci-policy-tenant": "kube", "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", "aci-service-phys-dom": "kube-physdom", @@ -1413,6 +1414,7 @@ data: "kubeapi-vlan": 4001, "node-subnet": "10.1.0.1/16", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "enable-drop-log": true, "enable-nodepodif": false } diff --git a/provision/testdata/flavor_openshift_sdn_ovn_baremetal.inp.yaml b/provision/testdata/flavor_openshift_sdn_ovn_baremetal.inp.yaml index f5943aa03..4d9256323 100644 --- a/provision/testdata/flavor_openshift_sdn_ovn_baremetal.inp.yaml +++ b/provision/testdata/flavor_openshift_sdn_ovn_baremetal.inp.yaml @@ -31,5 +31,4 @@ net_config: chained_cni_config: enable: true - primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" - skip_node_network_provisioning: false \ No newline at end of file + primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" \ No newline at end of file diff --git a/provision/testdata/flavor_openshift_sdn_ovn_baremetal.kube.yaml b/provision/testdata/flavor_openshift_sdn_ovn_baremetal.kube.yaml index 9622c090d..f028e5372 100644 --- a/provision/testdata/flavor_openshift_sdn_ovn_baremetal.kube.yaml +++ b/provision/testdata/flavor_openshift_sdn_ovn_baremetal.kube.yaml @@ -1296,7 +1296,7 @@ data: spec: |- { "flavor": "openshift-sdn-ovn-baremetal", - "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1jb21tb24vY3R4LWt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktbDNvdXQiOiAibDNvdXQiLAogICAgICAgICJhY2ktZXh0LW5ldHdvcmtzIjogWwogICAgICAgICAgICAiZGVmYXVsdCIKICAgICAgICBdCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdm1tLXR5cGUiOiAiS3ViZXJuZXRlcyIsCiAgICAgICAgImFjaS12bW0tZG9tYWluIjogImt1YmUiLAogICAgICAgICJhY2ktdm1tLWNvbnRyb2xsZXIiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IDQwMDEsCiAgICAgICAgIm5vZGUtc3VibmV0IjogIjEwLjEuMC4xLzE2IiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJlbmFibGUtZHJvcC1sb2ciOiB0cnVlLAogICAgICAgICJlbmFibGUtbm9kZXBvZGlmIjogZmFsc2UKICAgIH0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlY3JldAptZXRhZGF0YToKICBuYW1lOiBhY2ktdXNlci1jZXJ0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgpkYXRhOgogIHVzZXIua2V5OiBMUzB0TFMxQ1JVZEpUaUJRVWtsV1FWUkZJRXRGV1MwdExTMHRDazFKU1VOa1owbENRVVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJSVVpCUVZORFFXMUJkMmRuU21OQlowVkJRVzlIUWtGT2NpdEJLMmRQUzJKQlZsWnlTbk1LWWpNcldsZGlZMjVXV0c4dloyUjFlRWxVYTNadE1EbHJaV2xHUTI0clZYQXZVMGRrY1hZMlFXZ3JhbXhLWmtZM2RYWXJSbWREU25SRGVFUTROM0ZaZHdvd2NUVkVZMGRXVEVsalprWTBXbFZpT1VJNGNrcFhTMEpKTm5kS1puaDBUV1pHZFZWT1dUSTBZMmQzVVhCS2NYSk5WWEZCUkhvdlRWY3JkM0phWldoekNsTnVSbk41WlhkWVVqTTRPR1ZTTjBWTGFrUlhaV2RrU25sUVkxaEJaMDFDUVVGRlEyZFpRamxCV0dJeFdtWkNRMEpWZUVJclZXZEZWRWROTnlzMFdEa0tha2hpZVVVd1FteDRiR3RtYW5Kc2QyUjJiVk01VFRjM0t6SmFObVJMUVdkUU16TlVVazB2VUhkRlRVOVpOMUp1WkVKdksxZzJlRVJ6Vm1SalZFcEplUW8xVm5jNGVGVmFiSElyWVhWRlQyeHpNbHB1V25neE1XVTFlbWczYzFVelRtbzFTek0xUWxkU09VZFVXRW8yVUUxa2NGUTBPV3hDT1dKc2JFMXFSSEpNQ2pjck5XSkRjMlIxTmpOUE9FdGhUamxaVVVwQ1FWQkhUV0p3U0hCR2MzUkRNV05YUjNCU1VYZ3phWGRHSzFwTVdVRnlRVlZpUTB0aVYxRm1ZbWxhVkhBS1ExTTRSR2RQYlhsVk4zVkxWRkpMYVVNck1sSlpWRk16Y0hKTVZqVTNSM1ptWmtaNFNtcFVkMGQ1YTBOUlVVUnZSMEozWmpWcFQzTjVkVTFSVG5vM1N3cFNhWEppUkRCS04xSTJXV1ZSYTBwYUszQkRaVXQzZVN0T2VVbHhlR2d3VEVKRWJVSjViVk5MZGxnd1YwVkxRMmwwVDJkd2FUTXlSbGRDYjNGSWFtWXpDazFSWnk5QmEwSk1Ra3hTY1dWS2RuUnpUMjh6YlV0UE5HRXJlREpsTjNsU1ZVdHJNVU52UzNwR1RrSklNRzVWWlZoSGJsQjNhVlJPWWl0aU1XWm1VMFlLTjNaSlNtSklaRzFMWjNWS2VUQnNWVTVCTjBoYU56ZFlMMmxLVWtGclFXcHVZbVZNUzFwNmJEUnJhVkEzTTNCcFVHWjRURzB6TjJaUWFrb3JlVVJ2TkFwYWNIZFZkVnBTSzBORFdHeElTSFpQWldad09VMVdjbGRqTldWcVkwTXZSMkZETmsxWFdYbE5hblZYVFN0NFFYQnFZM1YyUVd0RlFYcFpLM0F4TkRCRENuaDNjSEk1Tld4cGJtNTJWMk5ETjA0M01EaEJTa1pwYlRNdlJsVXhNRWRFYnpjM2VVbFBTVFZvS3pVek4wcGlXV1J0TlRVMWFFOWxTQzlMYWxObGEyZ0tSVVkwVFcxNFVsQnRhWFE1T1hjOVBRb3RMUzB0TFVWT1JDQlFVa2xXUVZSRklFdEZXUzB0TFMwdENnPT0KICB1c2VyLmNydDogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSTJSRU5EUVZaRlEwRm5VRzlOUVRCSFExTnhSMU5KWWpORVVVVkNRbEZWUVUxRWQzaERla0ZLUW1kT1ZrSkJXVlJCYkZaVVRWSlpkMFpCV1VRS1ZsRlJTMFJCTVVSaFdFNXFZbmxDVkdWWVRqQmFWekY2VFZKVmQwVjNXVVJXVVZGRVJFRjRWbU15Vm5sSlJ6Rm9ZbTFTYkZwWVFYZElhR05PVFZSamR3cE9WRVV5VFdwRmVVOVVUWGRYYUdOT1RXcGpkMDVVUlRCTmFrVjVUMVJOZDFkcVFUaE5VWE4zUTFGWlJGWlJVVWRGZDBwV1ZYcEZWMDFDVVVkQk1WVkZDa05uZDA1Uk1teDZXVEk0WjFVemJIcGtSMVowWTNwRlZrMUNUVWRCTVZWRlFYZDNUVlpZVG14amFVSjBXVmMxYTFwWFZuZE5TVWRtVFVFd1IwTlRjVWNLVTBsaU0wUlJSVUpCVVZWQlFUUkhUa0ZFUTBKcFVVdENaMUZFWVM5blVHOUVhVzEzUmxaaGVXSkhPUzl0Vm0welNqRldObEEwU0dKelUwVTFURFYwVUFwYVNHOW9VWEF2YkV0bU1HaHVZWElyWjBsbWJ6VlRXSGhsTjNJdmFGbEJhV0pSYzFFdlR6WnRUVTVMZFZFelFteFRlVWhJZUdWSFZrY3ZVV1pMZVZacENtZFRUM05EV0RoaVZFaDRZbXhFVjA1MVNFbE5SVXRUWVhGNlJrdG5RVGd2ZWtaMmMwc3lXRzlpUlhCNFlrMXVjMFl3WkM5UVNHdGxlRU52ZHpGdWIwZ0tVMk5xTTBaM1NVUkJVVUZDVFVFd1IwTlRjVWRUU1dJelJGRkZRa0pSVlVGQk5FZENRVWhZSzJ0TVZHVTJURU5CUW1WM2JVTlVkazF6YW5WelNHUndXZ3ByYVRBeEsyNVJOMHRvYmtWU1lrSnRMM1JhTlhOaldrVTBZM1JKY1dOb00yNTVNVVZKVkVoT2RGbFhTMEpPTkVOa1ZVdGphblpFVnpKb01uWnJTR1ZuQ25KMFdXSldLMEZoUlhOeE1HMDBka2RHT1VWdGRuUXhZM0E1V1RReFNYbE5RbHBaY1hjNFl5OVdNVUYwYlZKUlkxSlVXVkZCT0VnelQwWkVZMmg1UWpJS01FcElVMFJ1UW05VE4yWm1VMkpDZUFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIGV2ZW50cwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIC0gc2VydmljZWFjY291bnRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBwYXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAicmJhYy5hdXRob3JpemF0aW9uLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjbHVzdGVycm9sZXMKICAtIGNsdXN0ZXJyb2xlYmluZGluZ3MKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICAtIGRhZW1vbnNldHMKICAtIHN0YXRlZnVsc2V0cwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gc2VydmljZXMvc3RhdHVzCiAgdmVyYnM6CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAibW9uaXRvcmluZy5jb3Jlb3MuY29tIgogIHJlc291cmNlczoKICAtIHNlcnZpY2Vtb25pdG9ycwogIHZlcmJzOgogIC0gZ2V0CiAgLSBjcmVhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzL2ZpbmFsaXplcnMKICAtIHNuYXRwb2xpY2llcy9zdGF0dXMKICAtIG5vZGVpbmZvcwogIHZlcmJzOgogIC0gdXBkYXRlCiAgLSBjcmVhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHNuYXRwb2xpY2llcwogIC0gbm9kZWluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldGZsb3ciCiAgcmVzb3VyY2VzOgogIC0gbmV0Zmxvd3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmVyc3BhbiIKICByZXNvdXJjZXM6CiAgLSBlcnNwYW5wb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSBhcHBzLm9wZW5zaGlmdC5pbwogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kbnNuZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gZG5zbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBldmVudHMKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzCiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuZHJvcGxvZyIKICByZXNvdXJjZXM6CiAgLSBlbmFibGVkcm9wbG9ncwogIC0gcHJ1bmVkcm9wbG9ncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBub2RlaW5mb3MKICAtIHNuYXRsb2NhbGluZm9zCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImNvbmZpZy5vcGVuc2hpZnQuaW8iCiAgcmVzb3VyY2VzOgogIC0gaW5mcmFzdHJ1Y3R1cmVzCiAgdmVyYnM6CiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczogWyJrOHMuY25pLmNuY2YuaW8iXQogIHJlc291cmNlczoKICAtICcqJwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGFlbW9uU2V0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKc3BlYzoKICB1cGRhdGVTdHJhdGVneToKICAgIHR5cGU6IFJvbGxpbmdVcGRhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICAgIGFubm90YXRpb25zOgogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgaG9zdFBJRDogdHJ1ZQogICAgICBob3N0SVBDOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWhvc3Q6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgc2VjdXJpdHlDb250ZXh0OgogICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICAgICAgICAgIGNhcGFiaWxpdGllczoKICAgICAgICAgICAgICBhZGQ6CiAgICAgICAgICAgICAgICAtIFNZU19BRE1JTgogICAgICAgICAgICAgICAgLSBORVRfQURNSU4KICAgICAgICAgICAgICAgIC0gU1lTX1BUUkFDRQogICAgICAgICAgICAgICAgLSBORVRfUkFXCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogR09UUkFDRUJBQ0sKICAgICAgICAgICAgICB2YWx1ZTogIjIiCiAgICAgICAgICAgIC0gbmFtZTogS1VCRVJORVRFU19OT0RFX05BTUUKICAgICAgICAgICAgICB2YWx1ZUZyb206CiAgICAgICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICAgICAgZmllbGRQYXRoOiBzcGVjLm5vZGVOYW1lCiAgICAgICAgICAgIC0gbmFtZTogVEVOQU5UCiAgICAgICAgICAgICAgdmFsdWU6ICJrdWJlIgogICAgICAgICAgICAtIG5hbWU6IE5PREVfRVBHCiAgICAgICAgICAgICAgdmFsdWU6ICJuZXRvcC1rdWJlfG5ldG9wLW5vZGVzIgogICAgICAgICAgICAtIG5hbWU6IE1VTFRVUwogICAgICAgICAgICAgIHZhbHVlOiAnVHJ1ZScKICAgICAgICAgICAgLSBuYW1lOiBEVVJBVElPTl9XQUlUX0ZPUl9ORVRXT1JLCiAgICAgICAgICAgICAgdmFsdWU6ICIyMTAiCiAgICAgICAgICAgIC0gbmFtZTogQ0hBSU5FRF9NT0RFCiAgICAgICAgICAgICAgdmFsdWU6ICJ0cnVlIgogICAgICAgICAgICAtIG5hbWU6IFBSSU1BUllfQ05JX1BBVEgKICAgICAgICAgICAgICB2YWx1ZTogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktYmluCiAgICAgICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWNvbmYKICAgICAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3ZhcgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG1vdW50UGF0aDogL3J1bi9uZXRucwogICAgICAgICAgICAgIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgICBtb3VudFByb3BhZ2F0aW9uOiBIb3N0VG9Db250YWluZXIKICAgICAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkwCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICByZXN0YXJ0UG9saWN5OiBBbHdheXMKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYgogICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL211bHR1cwogICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIKICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuCiAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBob3N0LWFnZW50LWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogaG9zdC1hZ2VudC5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgIC0gbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL25ldG5zCiAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL3J1bi9tdWx0dXMvCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERlcGxveW1lbnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzcGVjOgogIHJlcGxpY2FzOiAxCiAgc3RyYXRlZ3k6CiAgICB0eXBlOiBSZWNyZWF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gZWZmZWN0OiBOb0V4ZWN1dGUKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAgIHRvbGVyYXRpb25TZWNvbmRzOiA2MAogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLXJvbGUua3ViZXJuZXRlcy5pby9tYXN0ZXIKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWNvbnRyb2xsZXI6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IFNZU1RFTV9OQU1FU1BBQ0UKICAgICAgICAgICAgICB2YWx1ZTogImFjaS1jb250YWluZXJzLXN5c3RlbSIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNlcnQvCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkxCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgIHNlY3JldDoKICAgICAgICAgICAgc2VjcmV0TmFtZTogYWNpLXVzZXItY2VydAogICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogY29udHJvbGxlci1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGNvbnRyb2xsZXIuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IExpbWl0UmFuZ2UKbWV0YWRhdGE6CiAgbmFtZTogbWVtb3J5LWxpbWl0LXJhbmdlCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0Kc3BlYzoKICBsaW1pdHM6CiAgLSBkZWZhdWx0OgogICAgICBtZW1vcnk6IDNHaQogICAgZGVmYXVsdFJlcXVlc3Q6CiAgICAgIG1lbW9yeTogMTI4TWkKICAgIHR5cGU6IENvbnRhaW5lcgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIGFubm90YXRpb25zOgogICAgY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbjogdjAuMTIuMAogIG5hbWU6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMuYWNpLmZhYnJpY2F0dGFjaG1lbnQKc3BlYzoKICBncm91cDogYWNpLmZhYnJpY2F0dGFjaG1lbnQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudAogICAgbGlzdEtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudExpc3QKICAgIHBsdXJhbDogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogICAgc2hvcnROYW1lczoKICAgIC0gbmZuYQogICAgc2luZ3VsYXI6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudAogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBGYWJyaWNBdHRhY2htZW50cwogICAgICAgICAgQVBJCiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQVBJVmVyc2lvbiBkZWZpbmVzIHRoZSB2ZXJzaW9uZWQgc2NoZW1hIG9mIHRoaXMgcmVwcmVzZW50YXRpb24KICAgICAgICAgICAgICBvZiBhbiBvYmplY3QuIFNlcnZlcnMgc2hvdWxkIGNvbnZlcnQgcmVjb2duaXplZCBzY2hlbWFzIHRvIHRoZSBsYXRlc3QKICAgICAgICAgICAgICBpbnRlcm5hbCB2YWx1ZSwgYW5kIG1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCNyZXNvdXJjZXMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdLaW5kIGlzIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgUkVTVCByZXNvdXJjZSB0aGlzCiAgICAgICAgICAgICAgb2JqZWN0IHJlcHJlc2VudHMuIFNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudAogICAgICAgICAgICAgIHN1Ym1pdHMgcmVxdWVzdHMgdG8uIENhbm5vdCBiZSB1cGRhdGVkLiBJbiBDYW1lbENhc2UuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjdHlwZXMta2luZHMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIG5ldHdvcmsKICAgICAgICAgICAgICBhdHRhY2htZW50IHRvIHRoZSBmYWJyaWMKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhY2lUb3BvbG9neToKICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGZhYnJpY0xpbms6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvZHM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbElmYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kUmVmOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBNYXAgb2YgaWZhY2UgdG8gZmFicmljTGluawogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgZW5jYXBWbGFuOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgbmV0d29ya1JlZjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1BFQyBGSUVMRFMgLSBkZXNpcmVkIHN0YXRlIG9mIGNsdXN0ZXIKICAgICAgICAgICAgICAgICAgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUgY29kZSBhZnRlcgogICAgICAgICAgICAgICAgICBtb2RpZnlpbmcgdGhpcyBmaWxlIEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlciB0YWdzOgogICAgICAgICAgICAgICAgICBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sIE5ldHdvcmtSZWYKICAgICAgICAgICAgICAgICAgaXMgdGhlIG5zL25ldC1hdHQtZGVmIG5hbWUsIHVzZWQgYXMgcGFydCBvZiB0aGUgZXBnIG5zLTxOZXR3b3JrTmFtZT4nCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIG5vZGVOYW1lOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgcHJpbWFyeUNuaToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnaW5mb3JtYXRpb25hbDogcHJpbWFyeUNOSSBzcmlvdi9tYWN2bGFuJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIG5ldHdvcmtSZWYKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFN0YXR1cyBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZgogICAgICAgICAgICAgIEZhYnJpY0F0dGFjaG1lbnQKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBzdGF0ZToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1RBVFVTIEZJRUxEIC0gZGVmaW5lIG9ic2VydmVkIHN0YXRlCiAgICAgICAgICAgICAgICAgIG9mIGNsdXN0ZXIgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUKICAgICAgICAgICAgICAgICAgY29kZSBhZnRlciBtb2RpZnlpbmcgdGhpcyBmaWxlNyBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIKICAgICAgICAgICAgICAgICAgdGFnczogaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCcKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBzdGF0ZQogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQo=" + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiYWNpLXBvbGljeS10ZW5hbnQiOiAia3ViZSIsCiAgICAgICAgImFjaS1ub2RlYmQtZG4iOiAidW5pL3RuLWt1YmUvQkQtbmV0b3Atbm9kZXMiLAogICAgICAgICJhY2ktc2VydmljZS1waHlzLWRvbSI6ICJrdWJlLXBoeXNkb20iLAogICAgICAgICJhY2ktc2VydmljZS1lbmNhcCI6ICJ2bGFuLU5vbmUiLAogICAgICAgICJhY2ktcGJyLXRyYWNraW5nLW5vbi1zbmF0IjogZmFsc2UsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLWNvbW1vbi9jdHgta3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS1sM291dCI6ICJsM291dCIsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBbCiAgICAgICAgICAgICJkZWZhdWx0IgogICAgICAgIF0KICAgIH0KICBob3N0LWFnZW50LWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImFwcC1wcm9maWxlIjogIm5ldG9wLWt1YmUiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJsb2ctbGV2ZWwiOiAiaW5mbyIsCiAgICAgICAgImFjaS12bW0tdHlwZSI6ICJLdWJlcm5ldGVzIiwKICAgICAgICAiYWNpLXZtbS1kb21haW4iOiAia3ViZSIsCiAgICAgICAgImFjaS12bW0tY29udHJvbGxlciI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiAiY29tbW9uIiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAia3ViZWFwaS12bGFuIjogNDAwMSwKICAgICAgICAibm9kZS1zdWJuZXQiOiAiMTAuMS4wLjEvMTYiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK" } --- apiVersion: v1 @@ -1351,7 +1351,7 @@ data: }, "chained_cni_config": { "enable": true, - "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" }, "net_config": { "kubeapi_vlan": 4001, @@ -1388,6 +1388,7 @@ data: "aci-vmm-domain": "kube", "aci-vmm-controller": "kube", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "aci-policy-tenant": "kube", "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", "aci-service-phys-dom": "kube-physdom", @@ -1417,6 +1418,7 @@ data: "kubeapi-vlan": 4001, "node-subnet": "10.1.0.1/16", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "enable-drop-log": true, "enable-nodepodif": false } diff --git a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-21-ConfigMap-aci-operator-config.yaml b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-21-ConfigMap-aci-operator-config.yaml index 0ec682624..2b7cbaeee 100644 --- a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-21-ConfigMap-aci-operator-config.yaml +++ b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-21-ConfigMap-aci-operator-config.yaml @@ -1,6 +1,6 @@ apiVersion: v1 data: - spec: "{\n \"flavor\": \"openshift-sdn-ovn-baremetal\",\n \"config\": \"CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1jb21tb24vY3R4LWt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktbDNvdXQiOiAibDNvdXQiLAogICAgICAgICJhY2ktZXh0LW5ldHdvcmtzIjogWwogICAgICAgICAgICAiZGVmYXVsdCIKICAgICAgICBdCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdm1tLXR5cGUiOiAiS3ViZXJuZXRlcyIsCiAgICAgICAgImFjaS12bW0tZG9tYWluIjogImt1YmUiLAogICAgICAgICJhY2ktdm1tLWNvbnRyb2xsZXIiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IDQwMDEsCiAgICAgICAgIm5vZGUtc3VibmV0IjogIjEwLjEuMC4xLzE2IiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJlbmFibGUtZHJvcC1sb2ciOiB0cnVlLAogICAgICAgICJlbmFibGUtbm9kZXBvZGlmIjogZmFsc2UKICAgIH0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlY3JldAptZXRhZGF0YToKICBuYW1lOiBhY2ktdXNlci1jZXJ0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgpkYXRhOgogIHVzZXIua2V5OiBMUzB0TFMxQ1JVZEpUaUJRVWtsV1FWUkZJRXRGV1MwdExTMHRDazFKU1VOa1owbENRVVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJSVVpCUVZORFFXMUJkMmRuU21OQlowVkJRVzlIUWtGT2NpdEJLMmRQUzJKQlZsWnlTbk1LWWpNcldsZGlZMjVXV0c4dloyUjFlRWxVYTNadE1EbHJaV2xHUTI0clZYQXZVMGRrY1hZMlFXZ3JhbXhLWmtZM2RYWXJSbWREU25SRGVFUTROM0ZaZHdvd2NUVkVZMGRXVEVsalprWTBXbFZpT1VJNGNrcFhTMEpKTm5kS1puaDBUV1pHZFZWT1dUSTBZMmQzVVhCS2NYSk5WWEZCUkhvdlRWY3JkM0phWldoekNsTnVSbk41WlhkWVVqTTRPR1ZTTjBWTGFrUlhaV2RrU25sUVkxaEJaMDFDUVVGRlEyZFpRamxCV0dJeFdtWkNRMEpWZUVJclZXZEZWRWROTnlzMFdEa0tha2hpZVVVd1FteDRiR3RtYW5Kc2QyUjJiVk01VFRjM0t6SmFObVJMUVdkUU16TlVVazB2VUhkRlRVOVpOMUp1WkVKdksxZzJlRVJ6Vm1SalZFcEplUW8xVm5jNGVGVmFiSElyWVhWRlQyeHpNbHB1V25neE1XVTFlbWczYzFVelRtbzFTek0xUWxkU09VZFVXRW8yVUUxa2NGUTBPV3hDT1dKc2JFMXFSSEpNQ2pjck5XSkRjMlIxTmpOUE9FdGhUamxaVVVwQ1FWQkhUV0p3U0hCR2MzUkRNV05YUjNCU1VYZ3phWGRHSzFwTVdVRnlRVlZpUTB0aVYxRm1ZbWxhVkhBS1ExTTRSR2RQYlhsVk4zVkxWRkpMYVVNck1sSlpWRk16Y0hKTVZqVTNSM1ptWmtaNFNtcFVkMGQ1YTBOUlVVUnZSMEozWmpWcFQzTjVkVTFSVG5vM1N3cFNhWEppUkRCS04xSTJXV1ZSYTBwYUszQkRaVXQzZVN0T2VVbHhlR2d3VEVKRWJVSjViVk5MZGxnd1YwVkxRMmwwVDJkd2FUTXlSbGRDYjNGSWFtWXpDazFSWnk5QmEwSk1Ra3hTY1dWS2RuUnpUMjh6YlV0UE5HRXJlREpsTjNsU1ZVdHJNVU52UzNwR1RrSklNRzVWWlZoSGJsQjNhVlJPWWl0aU1XWm1VMFlLTjNaSlNtSklaRzFMWjNWS2VUQnNWVTVCTjBoYU56ZFlMMmxLVWtGclFXcHVZbVZNUzFwNmJEUnJhVkEzTTNCcFVHWjRURzB6TjJaUWFrb3JlVVJ2TkFwYWNIZFZkVnBTSzBORFdHeElTSFpQWldad09VMVdjbGRqTldWcVkwTXZSMkZETmsxWFdYbE5hblZYVFN0NFFYQnFZM1YyUVd0RlFYcFpLM0F4TkRCRENuaDNjSEk1Tld4cGJtNTJWMk5ETjA0M01EaEJTa1pwYlRNdlJsVXhNRWRFYnpjM2VVbFBTVFZvS3pVek4wcGlXV1J0TlRVMWFFOWxTQzlMYWxObGEyZ0tSVVkwVFcxNFVsQnRhWFE1T1hjOVBRb3RMUzB0TFVWT1JDQlFVa2xXUVZSRklFdEZXUzB0TFMwdENnPT0KICB1c2VyLmNydDogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSTJSRU5EUVZaRlEwRm5VRzlOUVRCSFExTnhSMU5KWWpORVVVVkNRbEZWUVUxRWQzaERla0ZLUW1kT1ZrSkJXVlJCYkZaVVRWSlpkMFpCV1VRS1ZsRlJTMFJCTVVSaFdFNXFZbmxDVkdWWVRqQmFWekY2VFZKVmQwVjNXVVJXVVZGRVJFRjRWbU15Vm5sSlJ6Rm9ZbTFTYkZwWVFYZElhR05PVFZSamR3cE9WRVV5VFdwRmVVOVVUWGRYYUdOT1RXcGpkMDVVUlRCTmFrVjVUMVJOZDFkcVFUaE5VWE4zUTFGWlJGWlJVVWRGZDBwV1ZYcEZWMDFDVVVkQk1WVkZDa05uZDA1Uk1teDZXVEk0WjFVemJIcGtSMVowWTNwRlZrMUNUVWRCTVZWRlFYZDNUVlpZVG14amFVSjBXVmMxYTFwWFZuZE5TVWRtVFVFd1IwTlRjVWNLVTBsaU0wUlJSVUpCVVZWQlFUUkhUa0ZFUTBKcFVVdENaMUZFWVM5blVHOUVhVzEzUmxaaGVXSkhPUzl0Vm0welNqRldObEEwU0dKelUwVTFURFYwVUFwYVNHOW9VWEF2YkV0bU1HaHVZWElyWjBsbWJ6VlRXSGhsTjNJdmFGbEJhV0pSYzFFdlR6WnRUVTVMZFZFelFteFRlVWhJZUdWSFZrY3ZVV1pMZVZacENtZFRUM05EV0RoaVZFaDRZbXhFVjA1MVNFbE5SVXRUWVhGNlJrdG5RVGd2ZWtaMmMwc3lXRzlpUlhCNFlrMXVjMFl3WkM5UVNHdGxlRU52ZHpGdWIwZ0tVMk5xTTBaM1NVUkJVVUZDVFVFd1IwTlRjVWRUU1dJelJGRkZRa0pSVlVGQk5FZENRVWhZSzJ0TVZHVTJURU5CUW1WM2JVTlVkazF6YW5WelNHUndXZ3ByYVRBeEsyNVJOMHRvYmtWU1lrSnRMM1JhTlhOaldrVTBZM1JKY1dOb00yNTVNVVZKVkVoT2RGbFhTMEpPTkVOa1ZVdGphblpFVnpKb01uWnJTR1ZuQ25KMFdXSldLMEZoUlhOeE1HMDBka2RHT1VWdGRuUXhZM0E1V1RReFNYbE5RbHBaY1hjNFl5OVdNVUYwYlZKUlkxSlVXVkZCT0VnelQwWkVZMmg1UWpJS01FcElVMFJ1UW05VE4yWm1VMkpDZUFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIGV2ZW50cwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIC0gc2VydmljZWFjY291bnRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBwYXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAicmJhYy5hdXRob3JpemF0aW9uLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjbHVzdGVycm9sZXMKICAtIGNsdXN0ZXJyb2xlYmluZGluZ3MKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICAtIGRhZW1vbnNldHMKICAtIHN0YXRlZnVsc2V0cwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gc2VydmljZXMvc3RhdHVzCiAgdmVyYnM6CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAibW9uaXRvcmluZy5jb3Jlb3MuY29tIgogIHJlc291cmNlczoKICAtIHNlcnZpY2Vtb25pdG9ycwogIHZlcmJzOgogIC0gZ2V0CiAgLSBjcmVhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzL2ZpbmFsaXplcnMKICAtIHNuYXRwb2xpY2llcy9zdGF0dXMKICAtIG5vZGVpbmZvcwogIHZlcmJzOgogIC0gdXBkYXRlCiAgLSBjcmVhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHNuYXRwb2xpY2llcwogIC0gbm9kZWluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldGZsb3ciCiAgcmVzb3VyY2VzOgogIC0gbmV0Zmxvd3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmVyc3BhbiIKICByZXNvdXJjZXM6CiAgLSBlcnNwYW5wb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSBhcHBzLm9wZW5zaGlmdC5pbwogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kbnNuZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gZG5zbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBldmVudHMKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzCiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuZHJvcGxvZyIKICByZXNvdXJjZXM6CiAgLSBlbmFibGVkcm9wbG9ncwogIC0gcHJ1bmVkcm9wbG9ncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBub2RlaW5mb3MKICAtIHNuYXRsb2NhbGluZm9zCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImNvbmZpZy5vcGVuc2hpZnQuaW8iCiAgcmVzb3VyY2VzOgogIC0gaW5mcmFzdHJ1Y3R1cmVzCiAgdmVyYnM6CiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczogWyJrOHMuY25pLmNuY2YuaW8iXQogIHJlc291cmNlczoKICAtICcqJwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGFlbW9uU2V0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKc3BlYzoKICB1cGRhdGVTdHJhdGVneToKICAgIHR5cGU6IFJvbGxpbmdVcGRhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICAgIGFubm90YXRpb25zOgogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgaG9zdFBJRDogdHJ1ZQogICAgICBob3N0SVBDOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWhvc3Q6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgc2VjdXJpdHlDb250ZXh0OgogICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICAgICAgICAgIGNhcGFiaWxpdGllczoKICAgICAgICAgICAgICBhZGQ6CiAgICAgICAgICAgICAgICAtIFNZU19BRE1JTgogICAgICAgICAgICAgICAgLSBORVRfQURNSU4KICAgICAgICAgICAgICAgIC0gU1lTX1BUUkFDRQogICAgICAgICAgICAgICAgLSBORVRfUkFXCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogR09UUkFDRUJBQ0sKICAgICAgICAgICAgICB2YWx1ZTogIjIiCiAgICAgICAgICAgIC0gbmFtZTogS1VCRVJORVRFU19OT0RFX05BTUUKICAgICAgICAgICAgICB2YWx1ZUZyb206CiAgICAgICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICAgICAgZmllbGRQYXRoOiBzcGVjLm5vZGVOYW1lCiAgICAgICAgICAgIC0gbmFtZTogVEVOQU5UCiAgICAgICAgICAgICAgdmFsdWU6ICJrdWJlIgogICAgICAgICAgICAtIG5hbWU6IE5PREVfRVBHCiAgICAgICAgICAgICAgdmFsdWU6ICJuZXRvcC1rdWJlfG5ldG9wLW5vZGVzIgogICAgICAgICAgICAtIG5hbWU6IE1VTFRVUwogICAgICAgICAgICAgIHZhbHVlOiAnVHJ1ZScKICAgICAgICAgICAgLSBuYW1lOiBEVVJBVElPTl9XQUlUX0ZPUl9ORVRXT1JLCiAgICAgICAgICAgICAgdmFsdWU6ICIyMTAiCiAgICAgICAgICAgIC0gbmFtZTogQ0hBSU5FRF9NT0RFCiAgICAgICAgICAgICAgdmFsdWU6ICJ0cnVlIgogICAgICAgICAgICAtIG5hbWU6IFBSSU1BUllfQ05JX1BBVEgKICAgICAgICAgICAgICB2YWx1ZTogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktYmluCiAgICAgICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWNvbmYKICAgICAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3ZhcgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG1vdW50UGF0aDogL3J1bi9uZXRucwogICAgICAgICAgICAgIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgICBtb3VudFByb3BhZ2F0aW9uOiBIb3N0VG9Db250YWluZXIKICAgICAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkwCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICByZXN0YXJ0UG9saWN5OiBBbHdheXMKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYgogICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL211bHR1cwogICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIKICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuCiAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBob3N0LWFnZW50LWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogaG9zdC1hZ2VudC5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgIC0gbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL25ldG5zCiAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL3J1bi9tdWx0dXMvCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERlcGxveW1lbnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzcGVjOgogIHJlcGxpY2FzOiAxCiAgc3RyYXRlZ3k6CiAgICB0eXBlOiBSZWNyZWF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gZWZmZWN0OiBOb0V4ZWN1dGUKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAgIHRvbGVyYXRpb25TZWNvbmRzOiA2MAogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLXJvbGUua3ViZXJuZXRlcy5pby9tYXN0ZXIKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWNvbnRyb2xsZXI6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IFNZU1RFTV9OQU1FU1BBQ0UKICAgICAgICAgICAgICB2YWx1ZTogImFjaS1jb250YWluZXJzLXN5c3RlbSIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNlcnQvCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkxCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgIHNlY3JldDoKICAgICAgICAgICAgc2VjcmV0TmFtZTogYWNpLXVzZXItY2VydAogICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogY29udHJvbGxlci1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGNvbnRyb2xsZXIuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IExpbWl0UmFuZ2UKbWV0YWRhdGE6CiAgbmFtZTogbWVtb3J5LWxpbWl0LXJhbmdlCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0Kc3BlYzoKICBsaW1pdHM6CiAgLSBkZWZhdWx0OgogICAgICBtZW1vcnk6IDNHaQogICAgZGVmYXVsdFJlcXVlc3Q6CiAgICAgIG1lbW9yeTogMTI4TWkKICAgIHR5cGU6IENvbnRhaW5lcgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIGFubm90YXRpb25zOgogICAgY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbjogdjAuMTIuMAogIG5hbWU6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMuYWNpLmZhYnJpY2F0dGFjaG1lbnQKc3BlYzoKICBncm91cDogYWNpLmZhYnJpY2F0dGFjaG1lbnQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudAogICAgbGlzdEtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudExpc3QKICAgIHBsdXJhbDogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogICAgc2hvcnROYW1lczoKICAgIC0gbmZuYQogICAgc2luZ3VsYXI6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudAogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBGYWJyaWNBdHRhY2htZW50cwogICAgICAgICAgQVBJCiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQVBJVmVyc2lvbiBkZWZpbmVzIHRoZSB2ZXJzaW9uZWQgc2NoZW1hIG9mIHRoaXMgcmVwcmVzZW50YXRpb24KICAgICAgICAgICAgICBvZiBhbiBvYmplY3QuIFNlcnZlcnMgc2hvdWxkIGNvbnZlcnQgcmVjb2duaXplZCBzY2hlbWFzIHRvIHRoZSBsYXRlc3QKICAgICAgICAgICAgICBpbnRlcm5hbCB2YWx1ZSwgYW5kIG1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCNyZXNvdXJjZXMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdLaW5kIGlzIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgUkVTVCByZXNvdXJjZSB0aGlzCiAgICAgICAgICAgICAgb2JqZWN0IHJlcHJlc2VudHMuIFNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudAogICAgICAgICAgICAgIHN1Ym1pdHMgcmVxdWVzdHMgdG8uIENhbm5vdCBiZSB1cGRhdGVkLiBJbiBDYW1lbENhc2UuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjdHlwZXMta2luZHMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIG5ldHdvcmsKICAgICAgICAgICAgICBhdHRhY2htZW50IHRvIHRoZSBmYWJyaWMKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhY2lUb3BvbG9neToKICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGZhYnJpY0xpbms6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvZHM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbElmYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kUmVmOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBNYXAgb2YgaWZhY2UgdG8gZmFicmljTGluawogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgZW5jYXBWbGFuOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgbmV0d29ya1JlZjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1BFQyBGSUVMRFMgLSBkZXNpcmVkIHN0YXRlIG9mIGNsdXN0ZXIKICAgICAgICAgICAgICAgICAgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUgY29kZSBhZnRlcgogICAgICAgICAgICAgICAgICBtb2RpZnlpbmcgdGhpcyBmaWxlIEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlciB0YWdzOgogICAgICAgICAgICAgICAgICBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sIE5ldHdvcmtSZWYKICAgICAgICAgICAgICAgICAgaXMgdGhlIG5zL25ldC1hdHQtZGVmIG5hbWUsIHVzZWQgYXMgcGFydCBvZiB0aGUgZXBnIG5zLTxOZXR3b3JrTmFtZT4nCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIG5vZGVOYW1lOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgcHJpbWFyeUNuaToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnaW5mb3JtYXRpb25hbDogcHJpbWFyeUNOSSBzcmlvdi9tYWN2bGFuJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIG5ldHdvcmtSZWYKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFN0YXR1cyBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZgogICAgICAgICAgICAgIEZhYnJpY0F0dGFjaG1lbnQKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBzdGF0ZToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1RBVFVTIEZJRUxEIC0gZGVmaW5lIG9ic2VydmVkIHN0YXRlCiAgICAgICAgICAgICAgICAgIG9mIGNsdXN0ZXIgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUKICAgICAgICAgICAgICAgICAgY29kZSBhZnRlciBtb2RpZnlpbmcgdGhpcyBmaWxlNyBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIKICAgICAgICAgICAgICAgICAgdGFnczogaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCcKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBzdGF0ZQogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQo=\"\ + spec: "{\n \"flavor\": \"openshift-sdn-ovn-baremetal\",\n \"config\": \"CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiYWNpLXBvbGljeS10ZW5hbnQiOiAia3ViZSIsCiAgICAgICAgImFjaS1ub2RlYmQtZG4iOiAidW5pL3RuLWt1YmUvQkQtbmV0b3Atbm9kZXMiLAogICAgICAgICJhY2ktc2VydmljZS1waHlzLWRvbSI6ICJrdWJlLXBoeXNkb20iLAogICAgICAgICJhY2ktc2VydmljZS1lbmNhcCI6ICJ2bGFuLU5vbmUiLAogICAgICAgICJhY2ktcGJyLXRyYWNraW5nLW5vbi1zbmF0IjogZmFsc2UsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLWNvbW1vbi9jdHgta3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS1sM291dCI6ICJsM291dCIsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBbCiAgICAgICAgICAgICJkZWZhdWx0IgogICAgICAgIF0KICAgIH0KICBob3N0LWFnZW50LWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImFwcC1wcm9maWxlIjogIm5ldG9wLWt1YmUiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJsb2ctbGV2ZWwiOiAiaW5mbyIsCiAgICAgICAgImFjaS12bW0tdHlwZSI6ICJLdWJlcm5ldGVzIiwKICAgICAgICAiYWNpLXZtbS1kb21haW4iOiAia3ViZSIsCiAgICAgICAgImFjaS12bW0tY29udHJvbGxlciI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiAiY29tbW9uIiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAia3ViZWFwaS12bGFuIjogNDAwMSwKICAgICAgICAibm9kZS1zdWJuZXQiOiAiMTAuMS4wLjEvMTYiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK\"\ \n}" kind: ConfigMap metadata: diff --git a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-22-ConfigMap-acc-provision-config.yaml b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-22-ConfigMap-acc-provision-config.yaml index df2a68f19..8005d7ae7 100644 --- a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-22-ConfigMap-acc-provision-config.yaml +++ b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-22-ConfigMap-acc-provision-config.yaml @@ -18,7 +18,7 @@ data: \ \"external_networks\": [\n \"default\"\n \ \ ]\n }\n },\n \"chained_cni_config\": {\n \ \ \"enable\": true,\n \"primary_cni_path\": \"/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf\"\ - ,\n },\n \"net_config\": {\n \"kubeapi_vlan\": 4001,\n\ + \n },\n \"net_config\": {\n \"kubeapi_vlan\": 4001,\n\ \ \"node_subnet\": \"10.1.0.1/16\",\n \"secondary_vlans\"\ : \"[4002, 4003, 4009, 4004-4007]\",\n }\n }\n }" kind: ConfigMap diff --git a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-23-ConfigMap-aci-containers-config.yaml b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-23-ConfigMap-aci-containers-config.yaml index 25d23c469..6ea7df918 100644 --- a/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-23-ConfigMap-aci-containers-config.yaml +++ b/provision/testdata/flavor_openshift_sdn_ovn_baremetal_tar/cluster-network-23-ConfigMap-aci-containers-config.yaml @@ -8,12 +8,13 @@ data: \ \"apic-private-key-path\": \"/usr/local/etc/aci-cert/user.key\",\n \"\ aci-prefix\": \"kube\",\n \"aci-vmm-type\": \"Kubernetes\",\n \"aci-vmm-domain\"\ : \"kube\",\n \"aci-vmm-controller\": \"kube\",\n \"aci-additional-vlans\"\ - : \"[4002, 4003, 4009, 4004-4007]\",\n \"aci-policy-tenant\": \"kube\",\n \ - \ \"aci-nodebd-dn\": \"uni/tn-kube/BD-netop-nodes\",\n \"aci-service-phys-dom\"\ - : \"kube-physdom\",\n \"aci-service-encap\": \"vlan-None\",\n \"aci-pbr-tracking-non-snat\"\ - : false,\n \"aci-vrf-tenant\": \"common\",\n \"aci-vrf-dn\": \"uni/tn-common/ctx-kube\"\ - ,\n \"aci-vrf\": \"kube\",\n \"aci-l3out\": \"l3out\",\n \"aci-ext-networks\"\ - : [\n \"default\"\n ]\n}" + : \"[4002, 4003, 4009, 4004-4007]\",\n \"aci-use-global-scope-vlan\": false,\n\ + \ \"aci-policy-tenant\": \"kube\",\n \"aci-nodebd-dn\": \"uni/tn-kube/BD-netop-nodes\"\ + ,\n \"aci-service-phys-dom\": \"kube-physdom\",\n \"aci-service-encap\"\ + : \"vlan-None\",\n \"aci-pbr-tracking-non-snat\": false,\n \"aci-vrf-tenant\"\ + : \"common\",\n \"aci-vrf-dn\": \"uni/tn-common/ctx-kube\",\n \"aci-vrf\"\ + : \"kube\",\n \"aci-l3out\": \"l3out\",\n \"aci-ext-networks\": [\n \ + \ \"default\"\n ]\n}" host-agent-config: "{\n \"flavor\": \"openshift-sdn-ovn-baremetal\",\n \"\ app-profile\": \"netop-kube\",\n \"chained-mode\": true,\n \"primary-cni-path\"\ : \"/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf\",\n \"log-level\": \"info\"\ @@ -21,8 +22,8 @@ data: \ \"aci-vmm-controller\": \"kube\",\n \"aci-vrf\": \"kube\",\n \"aci-vrf-tenant\"\ : \"common\",\n \"aci-prefix\": \"kube\",\n \"kubeapi-vlan\": 4001,\n \ \ \"node-subnet\": \"10.1.0.1/16\",\n \"aci-additional-vlans\": \"[4002, 4003,\ - \ 4009, 4004-4007]\",\n \"enable-drop-log\": true,\n \"enable-nodepodif\"\ - : false\n}" + \ 4009, 4004-4007]\",\n \"aci-use-global-scope-vlan\": false,\n \"enable-drop-log\"\ + : true,\n \"enable-nodepodif\": false\n}" kind: ConfigMap metadata: labels: diff --git a/provision/testdata/chained_mode_skip_node_network_provision.apic.txt b/provision/testdata/override_skip_node_network_provision.apic.txt similarity index 100% rename from provision/testdata/chained_mode_skip_node_network_provision.apic.txt rename to provision/testdata/override_skip_node_network_provision.apic.txt diff --git a/provision/testdata/chained_mode_skip_node_network_provision.inp.yaml b/provision/testdata/override_skip_node_network_provision.inp.yaml similarity index 100% rename from provision/testdata/chained_mode_skip_node_network_provision.inp.yaml rename to provision/testdata/override_skip_node_network_provision.inp.yaml diff --git a/provision/testdata/chained_mode_skip_node_network_provision.kube.yaml b/provision/testdata/override_skip_node_network_provision.kube.yaml similarity index 82% rename from provision/testdata/chained_mode_skip_node_network_provision.kube.yaml rename to provision/testdata/override_skip_node_network_provision.kube.yaml index 6e32d70e6..946d18bee 100644 --- a/provision/testdata/chained_mode_skip_node_network_provision.kube.yaml +++ b/provision/testdata/override_skip_node_network_provision.kube.yaml @@ -1296,7 +1296,7 @@ data: spec: |- { "flavor": "openshift-sdn-ovn-baremetal", - "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJhY2ktcG9saWN5LXRlbmFudCI6ICJrdWJlIiwKICAgICAgICAiYWNpLW5vZGViZC1kbiI6ICJ1bmkvdG4ta3ViZS9CRC1uZXRvcC1ub2RlcyIsCiAgICAgICAgImFjaS1zZXJ2aWNlLXBoeXMtZG9tIjogImt1YmUtcGh5c2RvbSIsCiAgICAgICAgImFjaS1zZXJ2aWNlLWVuY2FwIjogInZsYW4tTm9uZSIsCiAgICAgICAgImFjaS1wYnItdHJhY2tpbmctbm9uLXNuYXQiOiBmYWxzZSwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiBudWxsLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1Ob25lL2N0eC1Ob25lIiwKICAgICAgICAiYWNpLXZyZiI6IG51bGwsCiAgICAgICAgImFjaS1sM291dCI6IG51bGwsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBudWxsCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdnJmIjogbnVsbCwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiBudWxsLAogICAgICAgICJhY2ktcHJlZml4IjogImt1YmUiLAogICAgICAgICJrdWJlYXBpLXZsYW4iOiBudWxsLAogICAgICAgICJub2RlLXN1Ym5ldCI6IG51bGwsCiAgICAgICAgImFjaS1hZGRpdGlvbmFsLXZsYW5zIjogIls0MDAyLCA0MDAzLCA0MDA5LCA0MDA0LTQwMDddIiwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK" + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJhY2ktdXNlLWdsb2JhbC1zY29wZS12bGFuIjogZmFsc2UsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6IG51bGwsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLU5vbmUvY3R4LU5vbmUiLAogICAgICAgICJhY2ktdnJmIjogbnVsbCwKICAgICAgICAiYWNpLWwzb3V0IjogbnVsbCwKICAgICAgICAiYWNpLWV4dC1uZXR3b3JrcyI6IG51bGwKICAgIH0KICBob3N0LWFnZW50LWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImFwcC1wcm9maWxlIjogIm5ldG9wLWt1YmUiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJsb2ctbGV2ZWwiOiAiaW5mbyIsCiAgICAgICAgImFjaS12cmYiOiBudWxsLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6IG51bGwsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IG51bGwsCiAgICAgICAgIm5vZGUtc3VibmV0IjogbnVsbCwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJhY2ktdXNlLWdsb2JhbC1zY29wZS12bGFuIjogZmFsc2UsCiAgICAgICAgImVuYWJsZS1kcm9wLWxvZyI6IHRydWUsCiAgICAgICAgImVuYWJsZS1ub2RlcG9kaWYiOiBmYWxzZQogICAgfQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VjcmV0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS11c2VyLWNlcnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCmRhdGE6CiAgdXNlci5rZXk6IExTMHRMUzFDUlVkSlRpQlFVa2xXUVZSRklFdEZXUzB0TFMwdENrMUpTVU5rWjBsQ1FVUkJUa0puYTNGb2EybEhPWGN3UWtGUlJVWkJRVk5EUVcxQmQyZG5TbU5CWjBWQlFXOUhRa0ZPY2l0QksyZFBTMkpCVmxaeVNuTUtZak1yV2xkaVkyNVdXRzh2WjJSMWVFbFVhM1p0TURsclpXbEdRMjRyVlhBdlUwZGtjWFkyUVdncmFteEtaa1kzZFhZclJtZERTblJEZUVRNE4zRlpkd293Y1RWRVkwZFdURWxqWmtZMFdsVmlPVUk0Y2twWFMwSkpObmRLWm5oMFRXWkdkVlZPV1RJMFkyZDNVWEJLY1hKTlZYRkJSSG92VFZjcmQzSmFaV2h6Q2xOdVJuTjVaWGRZVWpNNE9HVlNOMFZMYWtSWFpXZGtTbmxRWTFoQlowMUNRVUZGUTJkWlFqbEJXR0l4V21aQ1EwSlZlRUlyVldkRlZFZE5OeXMwV0RrS2FraGllVVV3UW14NGJHdG1hbkpzZDJSMmJWTTVUVGMzS3pKYU5tUkxRV2RRTXpOVVVrMHZVSGRGVFU5Wk4xSnVaRUp2SzFnMmVFUnpWbVJqVkVwSmVRbzFWbmM0ZUZWYWJISXJZWFZGVDJ4ek1scHVXbmd4TVdVMWVtZzNjMVV6VG1vMVN6TTFRbGRTT1VkVVdFbzJVRTFrY0ZRME9XeENPV0pzYkUxcVJISk1DamNyTldKRGMyUjFOak5QT0V0aFRqbFpVVXBDUVZCSFRXSndTSEJHYzNSRE1XTlhSM0JTVVhnemFYZEdLMXBNV1VGeVFWVmlRMHRpVjFGbVltbGFWSEFLUTFNNFJHZFBiWGxWTjNWTFZGSkxhVU1yTWxKWlZGTXpjSEpNVmpVM1IzWm1aa1o0U21wVWQwZDVhME5SVVVSdlIwSjNaalZwVDNONWRVMVJUbm8zU3dwU2FYSmlSREJLTjFJMldXVlJhMHBhSzNCRFpVdDNlU3RPZVVseGVHZ3dURUpFYlVKNWJWTkxkbGd3VjBWTFEybDBUMmR3YVRNeVJsZENiM0ZJYW1ZekNrMVJaeTlCYTBKTVFreFNjV1ZLZG5SelQyOHpiVXRQTkdFcmVESmxOM2xTVlV0ck1VTnZTM3BHVGtKSU1HNVZaVmhIYmxCM2FWUk9ZaXRpTVdabVUwWUtOM1pKU21KSVpHMUxaM1ZLZVRCc1ZVNUJOMGhhTnpkWUwybEtVa0ZyUVdwdVltVk1TMXA2YkRScmFWQTNNM0JwVUdaNFRHMHpOMlpRYWtvcmVVUnZOQXBhY0hkVmRWcFNLME5EV0d4SVNIWlBaV1p3T1UxV2NsZGpOV1ZxWTBNdlIyRkROazFYV1hsTmFuVlhUU3Q0UVhCcVkzVjJRV3RGUVhwWkszQXhOREJEQ25oM2NISTVOV3hwYm01MlYyTkROMDQzTURoQlNrWnBiVE12UmxVeE1FZEViemMzZVVsUFNUVm9LelV6TjBwaVdXUnROVFUxYUU5bFNDOUxhbE5sYTJnS1JVWTBUVzE0VWxCdGFYUTVPWGM5UFFvdExTMHRMVVZPUkNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQogIHVzZXIuY3J0OiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VJMlJFTkRRVlpGUTBGblVHOU5RVEJIUTFOeFIxTkpZak5FVVVWQ1FsRlZRVTFFZDNoRGVrRktRbWRPVmtKQldWUkJiRlpVVFZKWmQwWkJXVVFLVmxGUlMwUkJNVVJoV0U1cVlubENWR1ZZVGpCYVZ6RjZUVkpWZDBWM1dVUldVVkZFUkVGNFZtTXlWbmxKUnpGb1ltMVNiRnBZUVhkSWFHTk9UVlJqZHdwT1ZFVXlUV3BGZVU5VVRYZFhhR05PVFdwamQwNVVSVEJOYWtWNVQxUk5kMWRxUVRoTlVYTjNRMUZaUkZaUlVVZEZkMHBXVlhwRlYwMUNVVWRCTVZWRkNrTm5kMDVSTW14NldUSTRaMVV6Ykhwa1IxWjBZM3BGVmsxQ1RVZEJNVlZGUVhkM1RWWllUbXhqYVVKMFdWYzFhMXBYVm5kTlNVZG1UVUV3UjBOVGNVY0tVMGxpTTBSUlJVSkJVVlZCUVRSSFRrRkVRMEpwVVV0Q1oxRkVZUzluVUc5RWFXMTNSbFpoZVdKSE9TOXRWbTB6U2pGV05sQTBTR0p6VTBVMVREVjBVQXBhU0c5b1VYQXZiRXRtTUdodVlYSXJaMGxtYnpWVFdIaGxOM0l2YUZsQmFXSlJjMUV2VHpadFRVNUxkVkV6UW14VGVVaEllR1ZIVmtjdlVXWkxlVlpwQ21kVFQzTkRXRGhpVkVoNFlteEVWMDUxU0VsTlJVdFRZWEY2Umt0blFUZ3Zla1oyYzBzeVdHOWlSWEI0WWsxdWMwWXdaQzlRU0d0bGVFTnZkekZ1YjBnS1UyTnFNMFozU1VSQlVVRkNUVUV3UjBOVGNVZFRTV0l6UkZGRlFrSlJWVUZCTkVkQ1FVaFlLMnRNVkdVMlRFTkJRbVYzYlVOVWRrMXphblZ6U0dSd1dncHJhVEF4SzI1Uk4wdG9ia1ZTWWtKdEwzUmFOWE5qV2tVMFkzUkpjV05vTTI1NU1VVkpWRWhPZEZsWFMwSk9ORU5rVlV0amFuWkVWekpvTW5aclNHVm5DbkowV1dKV0swRmhSWE54TUcwMGRrZEdPVVZ0ZG5ReFkzQTVXVFF4U1hsTlFscFpjWGM0WXk5V01VRjBiVkpSWTFKVVdWRkJPRWd6VDBaRVkyaDVRaklLTUVwSVUwUnVRbTlUTjJabVUySkNlQW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gZXZlbnRzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgLSBzZXJ2aWNlYWNjb3VudHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHBhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvIgogIHJlc291cmNlczoKICAtIGNsdXN0ZXJyb2xlcwogIC0gY2x1c3RlcnJvbGViaW5kaW5ncwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIC0gZGFlbW9uc2V0cwogIC0gc3RhdGVmdWxzZXRzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBzZXJ2aWNlcy9zdGF0dXMKICB2ZXJiczoKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJtb25pdG9yaW5nLmNvcmVvcy5jb20iCiAgcmVzb3VyY2VzOgogIC0gc2VydmljZW1vbml0b3JzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGNyZWF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMvZmluYWxpemVycwogIC0gc25hdHBvbGljaWVzL3N0YXR1cwogIC0gbm9kZWluZm9zCiAgdmVyYnM6CiAgLSB1cGRhdGUKICAtIGNyZWF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gc25hdHBvbGljaWVzCiAgLSBub2RlaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0ZmxvdyIKICByZXNvdXJjZXM6CiAgLSBuZXRmbG93cG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZXJzcGFuIgogIHJlc291cmNlczoKICAtIGVyc3BhbnBvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtIGFwcHMub3BlbnNoaWZ0LmlvCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRuc25ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBkbnNuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGV2ZW50cwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kcm9wbG9nIgogIHJlc291cmNlczoKICAtIGVuYWJsZWRyb3Bsb2dzCiAgLSBwcnVuZWRyb3Bsb2dzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIG5vZGVpbmZvcwogIC0gc25hdGxvY2FsaW5mb3MKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiY29uZmlnLm9wZW5zaGlmdC5pbyIKICByZXNvdXJjZXM6CiAgLSBpbmZyYXN0cnVjdHVyZXMKICB2ZXJiczoKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOiBbIms4cy5jbmkuY25jZi5pbyJdCiAgcmVzb3VyY2VzOgogIC0gJyonCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwpzcGVjOgogIHVwZGF0ZVN0cmF0ZWd5OgogICAgdHlwZTogUm9sbGluZ1VwZGF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgICAgYW5ub3RhdGlvbnM6CiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBob3N0UElEOiB0cnVlCiAgICAgIGhvc3RJUEM6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtaG9zdDo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBzZWN1cml0eUNvbnRleHQ6CiAgICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUKICAgICAgICAgICAgY2FwYWJpbGl0aWVzOgogICAgICAgICAgICAgIGFkZDoKICAgICAgICAgICAgICAgIC0gU1lTX0FETUlOCiAgICAgICAgICAgICAgICAtIE5FVF9BRE1JTgogICAgICAgICAgICAgICAgLSBTWVNfUFRSQUNFCiAgICAgICAgICAgICAgICAtIE5FVF9SQVcKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBHT1RSQUNFQkFDSwogICAgICAgICAgICAgIHZhbHVlOiAiMiIKICAgICAgICAgICAgLSBuYW1lOiBLVUJFUk5FVEVTX05PREVfTkFNRQogICAgICAgICAgICAgIHZhbHVlRnJvbToKICAgICAgICAgICAgICAgIGZpZWxkUmVmOgogICAgICAgICAgICAgICAgICBmaWVsZFBhdGg6IHNwZWMubm9kZU5hbWUKICAgICAgICAgICAgLSBuYW1lOiBURU5BTlQKICAgICAgICAgICAgICB2YWx1ZTogImt1YmUiCiAgICAgICAgICAgIC0gbmFtZTogTk9ERV9FUEcKICAgICAgICAgICAgICB2YWx1ZTogIm5ldG9wLWt1YmV8bmV0b3Atbm9kZXMiCiAgICAgICAgICAgIC0gbmFtZTogTVVMVFVTCiAgICAgICAgICAgICAgdmFsdWU6ICdUcnVlJwogICAgICAgICAgICAtIG5hbWU6IERVUkFUSU9OX1dBSVRfRk9SX05FVFdPUksKICAgICAgICAgICAgICB2YWx1ZTogIjIxMCIKICAgICAgICAgICAgLSBuYW1lOiBDSEFJTkVEX01PREUKICAgICAgICAgICAgICB2YWx1ZTogInRydWUiCiAgICAgICAgICAgIC0gbmFtZTogUFJJTUFSWV9DTklfUEFUSAogICAgICAgICAgICAgIHZhbHVlOiAiL21udC9jbmktY29uZi9jbmkvbmV0LmQvMTAtb3ZuLWt1YmVybmV0ZXMuY29uZiIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1iaW4KICAgICAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktY29uZgogICAgICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvdmFyCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbW91bnRQYXRoOiAvcnVuL25ldG5zCiAgICAgICAgICAgICAgbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAgIG1vdW50UHJvcGFnYXRpb246IEhvc3RUb0NvbnRhaW5lcgogICAgICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9tdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTAKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHJlc3RhcnRQb2xpY3k6IEFsd2F5cwogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliCiAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbXVsdHVzCiAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3ZhcgogICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4KICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGhvc3QtYWdlbnQtY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBob3N0LWFnZW50LmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgLSBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvcnVuL211bHR1cy8KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGVwbG95bWVudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnNwZWM6CiAgcmVwbGljYXM6IDEKICBzdHJhdGVneToKICAgIHR5cGU6IFJlY3JlYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBlZmZlY3Q6IE5vRXhlY3V0ZQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgICAgdG9sZXJhdGlvblNlY29uZHM6IDYwCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS5rdWJlcm5ldGVzLmlvL25vdC1yZWFkeQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUtcm9sZS5rdWJlcm5ldGVzLmlvL21hc3RlcgogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcjo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogU1lTVEVNX05BTUVTUEFDRQogICAgICAgICAgICAgIHZhbHVlOiAiYWNpLWNvbnRhaW5lcnMtc3lzdGVtIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY2VydC8KICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTEKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgc2VjcmV0OgogICAgICAgICAgICBzZWNyZXROYW1lOiBhY2ktdXNlci1jZXJ0CiAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBjb250cm9sbGVyLWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogY29udHJvbGxlci5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogTGltaXRSYW5nZQptZXRhZGF0YToKICBuYW1lOiBtZW1vcnktbGltaXQtcmFuZ2UKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQpzcGVjOgogIGxpbWl0czoKICAtIGRlZmF1bHQ6CiAgICAgIG1lbW9yeTogM0dpCiAgICBkZWZhdWx0UmVxdWVzdDoKICAgICAgbWVtb3J5OiAxMjhNaQogICAgdHlwZTogQ29udGFpbmVyCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgYW5ub3RhdGlvbnM6CiAgICBjb250cm9sbGVyLWdlbi5rdWJlYnVpbGRlci5pby92ZXJzaW9uOiB2MC4xMi4wCiAgbmFtZTogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cy5hY2kuZmFicmljYXR0YWNobWVudApzcGVjOgogIGdyb3VwOiBhY2kuZmFicmljYXR0YWNobWVudAogIG5hbWVzOgogICAga2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50CiAgICBsaXN0S2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50TGlzdAogICAgcGx1cmFsOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgICBzaG9ydE5hbWVzOgogICAgLSBuZm5hCiAgICBzaW5ndWxhcjogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnQgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIEZhYnJpY0F0dGFjaG1lbnRzCiAgICAgICAgICBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbgogICAgICAgICAgICAgIG9mIGFuIG9iamVjdC4gU2VydmVycyBzaG91bGQgY29udmVydCByZWNvZ25pemVkIHNjaGVtYXMgdG8gdGhlIGxhdGVzdAogICAgICAgICAgICAgIGludGVybmFsIHZhbHVlLCBhbmQgbWF5IHJlamVjdCB1bnJlY29nbml6ZWQgdmFsdWVzLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3Jlc291cmNlcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0tpbmQgaXMgYSBzdHJpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBSRVNUIHJlc291cmNlIHRoaXMKICAgICAgICAgICAgICBvYmplY3QgcmVwcmVzZW50cy4gU2VydmVycyBtYXkgaW5mZXIgdGhpcyBmcm9tIHRoZSBlbmRwb2ludCB0aGUgY2xpZW50CiAgICAgICAgICAgICAgc3VibWl0cyByZXF1ZXN0cyB0by4gQ2Fubm90IGJlIHVwZGF0ZWQuIEluIENhbWVsQ2FzZS4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCN0eXBlcy1raW5kcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgbmV0d29yawogICAgICAgICAgICAgIGF0dGFjaG1lbnQgdG8gdGhlIGZhYnJpYwogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGFjaVRvcG9sb2d5OgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgZmFicmljTGluazoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgcG9kczoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsSWZhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RSZWY6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IE1hcCBvZiBpZmFjZSB0byBmYWJyaWNMaW5rCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBlbmNhcFZsYW46CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBuZXR3b3JrUmVmOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTUEVDIEZJRUxEUyAtIGRlc2lyZWQgc3RhdGUgb2YgY2x1c3RlcgogICAgICAgICAgICAgICAgICBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZSBjb2RlIGFmdGVyCiAgICAgICAgICAgICAgICAgIG1vZGlmeWluZyB0aGlzIGZpbGUgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyIHRhZ3M6CiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwgTmV0d29ya1JlZgogICAgICAgICAgICAgICAgICBpcyB0aGUgbnMvbmV0LWF0dC1kZWYgbmFtZSwgdXNlZCBhcyBwYXJ0IG9mIHRoZSBlcGcgbnMtPE5ldHdvcmtOYW1lPicKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgbm9kZU5hbWU6CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBwcmltYXJ5Q25pOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdpbmZvcm1hdGlvbmFsOiBwcmltYXJ5Q05JIHNyaW92L21hY3ZsYW4nCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gbmV0d29ya1JlZgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mCiAgICAgICAgICAgICAgRmFicmljQXR0YWNobWVudAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHN0YXRlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTVEFUVVMgRklFTEQgLSBkZWZpbmUgb2JzZXJ2ZWQgc3RhdGUKICAgICAgICAgICAgICAgICAgb2YgY2x1c3RlciBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZQogICAgICAgICAgICAgICAgICBjb2RlIGFmdGVyIG1vZGlmeWluZyB0aGlzIGZpbGU3IEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlcgogICAgICAgICAgICAgICAgICB0YWdzOiBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIHN0YXRlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCg==" } --- apiVersion: v1 @@ -1328,15 +1328,11 @@ data: "certfile": "user.crt", "keyfile": "user.key" }, - "l3out": { - "name": null, - "external_networks": null - } }, "chained_cni_config": { "enable": true, - "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", "skip_node_network_provisioning": true, + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" }, "net_config": { "node_subnet": null, @@ -1369,6 +1365,7 @@ data: "apic-private-key-path": "/usr/local/etc/aci-cert/user.key", "aci-prefix": "kube", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "aci-policy-tenant": "kube", "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", "aci-service-phys-dom": "kube-physdom", @@ -1393,6 +1390,7 @@ data: "kubeapi-vlan": null, "node-subnet": null, "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "enable-drop-log": true, "enable-nodepodif": false } diff --git a/provision/testdata/override_use_global_scope_vlan.apic.txt b/provision/testdata/override_use_global_scope_vlan.apic.txt new file mode 100644 index 000000000..c166aace8 --- /dev/null +++ b/provision/testdata/override_use_global_scope_vlan.apic.txt @@ -0,0 +1,270 @@ +/api/mo/uni/infra.json +{ + "infraAttEntityP": { + "attributes": { + "name": "kube-aep", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "infraRsDomP": { + "attributes": { + "tDn": "uni/phys-kube-physdom", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "infraGeneric": { + "attributes": { + "name": "default", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "infraRsFuncToEpg": { + "attributes": { + "tDn": "uni/tn-kube/ap-netop-kube/epg-netop-nodes", + "encap": "vlan-4001", + "mode": "untagged", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + } + ] + } +} +/api/mo/uni/infra/attentp-kube-aep/rsdomP-[uni/phys-kube-physdom].json +None +/api/mo/uni/infra/attentp-kube-aep/gen-default/rsfuncToEpg-[uni/tn-kube/ap-netop-kube/epg-netop-nodes].json +None +/api/mo/uni/tn-kube.json +{ + "fvTenant": { + "attributes": { + "name": "kube", + "dn": "uni/tn-kube", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "fvAp": { + "attributes": { + "name": "netop-kube", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "fvAEPg": { + "attributes": { + "name": "netop-nodes", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "fvRsBd": { + "attributes": { + "tnFvBDName": "netop-nodes", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "fvRsCons": { + "attributes": { + "tnVzBrCPName": "kube-l3out-allow-all", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "fvRsDomAtt": { + "attributes": { + "tDn": "uni/vmmp-Kubernetes/dom-kube", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "fvRsDomAtt": { + "attributes": { + "encap": "vlan-4001", + "tDn": "uni/phys-kube-physdom", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + } + ] + } + }, + { + "fvBD": { + "attributes": { + "name": "netop-nodes", + "arpFlood": "yes", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "fvRsCtx": { + "attributes": { + "tnFvCtxName": "kube", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "fvSubnet": { + "attributes": { + "ip": "10.1.0.1/16", + "annotation": "orchestrator:aci-containers-controller" + } + } + }, + { + "fvRsBDToOut": { + "attributes": { + "tnL3extOutName": "l3out", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + } + ] + } +} +/api/mo/uni/tn-common.json +{ + "fvTenant": { + "attributes": { + "name": "common", + "dn": "uni/tn-common" + }, + "children": [ + { + "vzFilter": { + "attributes": { + "name": "kube-allow-all-filter", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "vzEntry": { + "attributes": { + "name": "allow-all", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + }, + { + "vzBrCP": { + "attributes": { + "name": "kube-l3out-allow-all", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "vzSubj": { + "attributes": { + "name": "allow-all-subj", + "consMatchT": "AtleastOne", + "provMatchT": "AtleastOne", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "vzRsSubjFiltAtt": { + "attributes": { + "tnVzFilterName": "kube-allow-all-filter", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + } + ] + } + } + ] + } +} +/api/mo/uni/tn-common/flt-kube-allow-all-filter.json +None +/api/mo/uni/tn-common/brc-kube-l3out-allow-all.json +None +/api/mo/uni/tn-common/out-l3out/instP-default.json +{ + "fvRsProv": { + "attributes": { + "matchT": "AtleastOne", + "tnVzBrCPName": "kube-l3out-allow-all", + "annotation": "orchestrator:aci-containers-controller" + } + } +} +/api/mo/uni/tn-common/out-l3out/instP-default/rsprov-kube-l3out-allow-all.json +None +/api/node/mo/uni/userext/user-kube.json +{ + "aaaUser": { + "attributes": { + "name": "kube", + "accountStatus": "active", + "pwd": "NotRandom!", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "aaaUserDomain": { + "attributes": { + "name": "all", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "aaaUserRole": { + "attributes": { + "name": "admin", + "privType": "writePriv", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } + } + ] + } +} +/api/node/mo/uni/userext/user-kube.json +{ + "aaaUser": { + "attributes": { + "name": "kube", + "annotation": "orchestrator:aci-containers-controller" + }, + "children": [ + { + "aaaUserCert": { + "attributes": { + "name": "kube.crt", + "data": "-----BEGIN CERTIFICATE-----\nMIIB6DCCAVECAgPoMA0GCSqGSIb3DQEBBQUAMDwxCzAJBgNVBAYTAlVTMRYwFAYD\nVQQKDA1DaXNjbyBTeXN0ZW1zMRUwEwYDVQQDDAxVc2VyIG1hbmRlZXAwHhcNMTcw\nNTE2MjEyOTMwWhcNMjcwNTE0MjEyOTMwWjA8MQswCQYDVQQGEwJVUzEWMBQGA1UE\nCgwNQ2lzY28gU3lzdGVtczEVMBMGA1UEAwwMVXNlciBtYW5kZWVwMIGfMA0GCSqG\nSIb3DQEBAQUAA4GNADCBiQKBgQDa/gPoDimwFVaybG9/mVm3J1V6P4HbsSE5L5tP\nZHohQp/lKf0hnar+gIfo5SXxe7r/hYAibQsQ/O6mMNKuQ3BlSyHHxeGVG/QfKyVi\ngSOsCX8bTHxblDWNuHIMEKSaqzFKgA8/zFvsK2XobEpxbMnsF0d/PHkexCow1noH\nScj3FwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAHX+kLTe6LCABewmCTvMsjusHdpZ\nki01+nQ7KhnERbBm/tZ5scZE4ctIqch3ny1EITHNtYWKBN4CdUKcjvDW2h2vkHeg\nrtYbV+AaEsq0m4vGF9Emvt1cp9Y41IyMBZYqw8c/V1AtmRQcRTYQA8H3OFDchyB2\n0JHSDnBoS7ffSbBx\n-----END CERTIFICATE-----\n", + "annotation": "orchestrator:aci-containers-controller" + } + } + } + ] + } +} diff --git a/provision/testdata/override_use_global_scope_vlan.inp.yaml b/provision/testdata/override_use_global_scope_vlan.inp.yaml new file mode 100644 index 000000000..ac2e1edc0 --- /dev/null +++ b/provision/testdata/override_use_global_scope_vlan.inp.yaml @@ -0,0 +1,35 @@ +aci_config: + system_id: kube + apic_hosts: + - 10.30.120.100 + aep: kube-aep + secondary_aep: kube-aep-2 + physical_domain: + domain: kube-physdom # Override if needed. + # Otherwise -physdom will be created. + sync_login: + certfile: user.crt + keyfile: user.key + vrf: + name: kube + tenant: common + l3out: + name: l3out + external_networks: + - default + vmm_domain: + domain: kube + type: Kubernetes + +net_config: + node_subnet: 10.1.0.1/16 + kubeapi_vlan: 4001 + secondary_vlans: + - 4002 + - 4003, 4009 + - 4004-4007 + +chained_cni_config: + enable: true + primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" + use_global_scope_vlan: true \ No newline at end of file diff --git a/provision/testdata/override_use_global_scope_vlan.kube.yaml b/provision/testdata/override_use_global_scope_vlan.kube.yaml new file mode 100644 index 000000000..8f411e296 --- /dev/null +++ b/provision/testdata/override_use_global_scope_vlan.kube.yaml @@ -0,0 +1,2307 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: acicontainersoperators.aci.ctrl +spec: + group: aci.ctrl + names: + kind: AciContainersOperator + listKind: AciContainersOperatorList + plural: acicontainersoperators + singular: acicontainersoperator + scope: Namespaced + versions: + - name: v1alpha1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + description: acicontainersoperator owns the lifecycle of ACI objects in the cluster + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + description: AciContainersOperatorSpec defines the desired spec for ACI Objects + properties: + flavor: + type: string + config: + type: string + type: object + status: + description: AciContainersOperatorStatus defines the successful completion of AciContainersOperator + properties: + status: + type: boolean + type: object + required: + - spec + type: object +--- +apiVersion: v1 +kind: Namespace +metadata: + name: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers + openshift.io/run-level: "0" + annotations: + openshift.io/node-selector: '' +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: acicni-priority +value: 1000000000 +globalDefault: false +description: "This priority class is used for ACI-CNI resources" +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: nodepodifs.aci.aw +spec: + group: aci.aw + names: + kind: NodePodIF + listKind: NodePodIFList + plural: nodepodifs + singular: nodepodif + scope: Namespaced + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + properties: + podifs: + type: array + items: + type: object + properties: + containerID: + type: string + epg: + type: string + ifname: + type: string + ipaddr: + type: string + macaddr: + type: string + podname: + type: string + podns: + type: string + vtep: + type: string + required: + - spec + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: snatglobalinfos.aci.snat +spec: + group: aci.snat + names: + kind: SnatGlobalInfo + listKind: SnatGlobalInfoList + plural: snatglobalinfos + singular: snatglobalinfo + scope: Namespaced + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + description: SnatGlobalInfo is the Schema for the snatglobalinfos API + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + globalInfos: + additionalProperties: + items: + properties: + macAddress: + type: string + portRanges: + items: + properties: + end: + maximum: 65535 + minimum: 1 + type: integer + start: + maximum: 65535 + minimum: 1 + type: integer + type: object + type: array + snatIp: + type: string + snatIpUid: + type: string + snatPolicyName: + type: string + required: + - macAddress + - portRanges + - snatIp + - snatIpUid + - snatPolicyName + type: object + type: array + type: object + required: + - globalInfos + type: object + status: + description: SnatGlobalInfoStatus defines the observed state of SnatGlobalInfo + type: object + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: snatlocalinfos.aci.snat +spec: + group: aci.snat + names: + kind: SnatLocalInfo + listKind: SnatLocalInfoList + plural: snatlocalinfos + singular: snatlocalinfo + scope: Namespaced + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + description: SnatLocalInfoSpec defines the desired state of SnatLocalInfo + properties: + localInfos: + items: + properties: + podName: + type: string + podNamespace: + type: string + podUid: + type: string + snatPolicies: + items: + properties: + destIp: + items: + type: string + type: array + name: + type: string + snatIp: + type: string + required: + - destIp + - name + - snatIp + type: object + type: array + required: + - podName + - podNamespace + - podUid + - snatPolicies + type: object + type: array + required: + - localInfos + type: object + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: snatpolicies.aci.snat +spec: + group: aci.snat + names: + kind: SnatPolicy + listKind: SnatPolicyList + plural: snatpolicies + singular: snatpolicy + scope: Cluster + versions: + - name: v1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + properties: + selector: + type: object + properties: + labels: + type: object + description: 'Selection of Pods' + properties: + additionalProperties: + type: string + namespace: + type: string + type: object + snatIp: + type: array + items: + type: string + destIp: + type: array + items: + type: string + type: object + status: + type: object + properties: + additionalProperties: + type: string +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: nodeinfos.aci.snat +spec: + group: aci.snat + names: + kind: NodeInfo + listKind: NodeInfoList + plural: nodeinfos + singular: nodeinfo + scope: Namespaced + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + macaddress: + type: string + snatpolicynames: + additionalProperties: + type: boolean + type: object + type: object + status: + description: NodeinfoStatus defines the observed state of Nodeinfo + type: object + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: rdconfigs.aci.snat +spec: + group: aci.snat + names: + kind: RdConfig + listKind: RdConfigList + plural: rdconfigs + singular: rdconfig + scope: Namespaced + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + discoveredsubnets: + items: + type: string + type: array + usersubnets: + items: + type: string + type: array + type: object + status: + description: NodeinfoStatus defines the observed state of Nodeinfo + type: object + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: networkpolicies.aci.netpol +spec: + group: aci.netpol + names: + kind: NetworkPolicy + listKind: NetworkPolicyList + plural: networkpolicies + singular: networkpolicy + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: Network Policy describes traffic flow at IP address or port level + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + appliedTo: + properties: + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + podSelector: + description: allow ingress from the same namespace + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object + egress: + description: Set of egress rules evaluated based on the order in which they are set. + items: + properties: + action: + description: Action specifies the action to be applied on the rule. + type: string + enableLogging: + description: EnableLogging is used to indicate if agent should generate logs default to false. + type: boolean + ports: + description: Set of port and protocol allowed/denied by the rule. If this field is unset or empty, this rule matches all ports. + items: + description: NetworkPolicyPort describes the port and protocol to match in a rule. + properties: + endPort: + description: EndPort defines the end of the port range, being the end included within the range. It can only be specified when a numerical `port` is specified. + format: int32 + type: integer + port: + anyOf: + - type: integer + - type: string + description: The port on the given protocol. This can be either a numerical or named port on a Pod. If this field is not provided, this matches all port names and numbers. + x-kubernetes-int-or-string: true + protocol: + default: TCP + description: The protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP. + type: string + type: object + type: array + to: + description: Rule is matched if traffic is intended for workloads selected by this field. If this field is empty or missing, this rule matches all destinations. + items: + properties: + ipBlock: + description: IPBlock describes the IPAddresses/IPBlocks that is matched in to/from. IPBlock cannot be set as part of the AppliedTo field. Cannot be set with any other selector. + properties: + cidr: + description: CIDR is a string representing the IP Block Valid examples are "192.168.1.1/24" or "2001:db9::/64" + type: string + except: + description: Except is a slice of CIDRs that should not be included within an IP Block Valid examples are "192.168.1.1/24" or "2001:db9::/64" Except values will be rejected if they are outside the CIDR range + items: + type: string + type: array + required: + - cidr + type: object + namespaceSelector: + description: Select all Pods from Namespaces matched by this selector, as workloads in To/From fields. If set with PodSelector, Pods are matched from Namespaces matched by the NamespaceSelector. Cannot be set with any other selector except PodSelector or ExternalEntitySelector. + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + podSelector: + description: Select Pods from NetworkPolicy's Namespace as workloads in AppliedTo/To/From fields. If set with NamespaceSelector, Pods are matched from Namespaces matched by the NamespaceSelector. Cannot be set with any other selector except NamespaceSelector. + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + toFqDn: + properties: + matchNames: + items: + type: string + type: array + required: + - matchNames + type: object + required: + - enableLogging + - toFqDn + type: object + type: array + ingress: + description: Set of ingress rules evaluated based on the order in which they are set. + items: + properties: + action: + description: Action specifies the action to be applied on the rule. + type: string + enableLogging: + description: EnableLogging is used to indicate if agent should generate logs when rules are matched. Should be default to false. + type: boolean + from: + description: Rule is matched if traffic originates from workloads selected by this field. If this field is empty, this rule matches all sources. + items: + properties: + ipBlock: + description: IPBlock describes the IPAddresses/IPBlocks that is matched in to/from. IPBlock cannot be set as part of the AppliedTo field. Cannot be set with any other selector. + properties: + cidr: + description: CIDR is a string representing the IP Block Valid examples are "192.168.1.1/24" or "2001:db9::/64" + type: string + except: + description: Except is a slice of CIDRs that should not be included within an IP Block Valid examples are "192.168.1.1/24" or "2001:db9::/64" Except values will be rejected if they are outside the CIDR range + items: + type: string + type: array + required: + - cidr + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + podSelector: + description: Select Pods from NetworkPolicy's Namespace as workloads in AppliedTo/To/From fields. If set with NamespaceSelector, Pods are matched from Namespaces matched by the NamespaceSelector. Cannot be set with any other selector except NamespaceSelector. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + properties: + key: + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + ports: + description: Set of port and protocol allowed/denied by the rule. If this field is unset or empty, this rule matches all ports. + items: + description: NetworkPolicyPort describes the port and protocol to match in a rule. + properties: + endPort: + description: EndPort defines the end of the port range, being the end included within the range. It can only be specified when a numerical `port` is specified. + format: int32 + type: integer + port: + anyOf: + - type: integer + - type: string + description: The port on the given protocol. This can be either a numerical or named port on a Pod. If this field is not provided, this matches all port names and numbers. + x-kubernetes-int-or-string: true + protocol: + default: TCP + description: The protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP. + type: string + type: object + type: array + type: object + type: array + policyTypes: + items: + description: Policy Type string describes the NetworkPolicy type This type is beta-level in 1.8 + type: string + type: array + priority: + description: Priority specfies the order of the NetworkPolicy relative to other NetworkPolicies. + type: integer + type: + description: type of the policy. + type: string + required: + - type + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: dnsnetworkpolicies.aci.dnsnetpol +spec: + group: aci.dnsnetpol + names: + kind: DnsNetworkPolicy + listKind: DnsNetworkPolicyList + plural: dnsnetworkpolicies + singular: dnsnetworkpolicy + scope: Namespaced + versions: + - name: v1beta + schema: + openAPIV3Schema: + description: dns network Policy + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + appliedTo: + properties: + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + podSelector: + description: allow ingress from the same namespace + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object + egress: + description: Set of egress rules evaluated based on the order in which they are set. + properties: + toFqdn: + properties: + matchNames: + items: + type: string + type: array + required: + - matchNames + type: object + required: + - toFqdn + type: object + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: qospolicies.aci.qos +spec: + group: aci.qos + names: + kind: QosPolicy + listKind: QosPolicyList + plural: qospolicies + singular: qospolicy + scope: Namespaced + preserveUnknownFields: false + versions: + - name: v1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + spec: + type: object + properties: + podSelector: + description: 'Selection of Pods' + type: object + properties: + matchLabels: + type: object + description: + ingress: + type: object + properties: + policing_rate: + type: integer + minimum: 0 + policing_burst: + type: integer + minimum: 0 + egress: + type: object + properties: + policing_rate: + type: integer + minimum: 0 + policing_burst: + type: integer + minimum: 0 + dscpmark: + type: integer + default: 0 + minimum: 0 + maximum: 63 +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: netflowpolicies.aci.netflow +spec: + group: aci.netflow + names: + kind: NetflowPolicy + listKind: NetflowPolicyList + plural: netflowpolicies + singular: netflowpolicy + scope: Cluster + preserveUnknownFields: false + versions: + - name: v1alpha + served: true + storage: true + schema: + # openAPIV3Schema is the schema for validating custom objects. + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + spec: + type: object + properties: + flowSamplingPolicy: + type: object + properties: + destIp: + type: string + destPort: + type: integer + minimum: 0 + maximum: 65535 + default: 2055 + flowType: + type: string + enum: + - netflow + - ipfix + default: netflow + activeFlowTimeOut: + type: integer + minimum: 0 + maximum: 3600 + default: 60 + idleFlowTimeOut: + type: integer + minimum: 0 + maximum: 600 + default: 15 + samplingRate: + type: integer + minimum: 0 + maximum: 1000 + default: 0 + required: + - destIp + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: erspanpolicies.aci.erspan +spec: + group: aci.erspan + names: + kind: ErspanPolicy + listKind: ErspanPolicyList + plural: erspanpolicies + singular: erspanpolicy + scope: Cluster + preserveUnknownFields: false + versions: + - name: v1alpha + served: true + storage: true + schema: + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + spec: + type: object + properties: + selector: + type: object + description: 'Selection of Pods' + properties: + labels: + type: object + properties: + additionalProperties: + type: string + namespace: + type: string + source: + type: object + properties: + adminState: + description: Administrative state. + default: start + type: string + enum: + - start + - stop + direction: + description: Direction of the packets to monitor. + default: both + type: string + enum: + - in + - out + - both + destination: + type: object + properties: + destIP: + description: Destination IP of the ERSPAN packet. + type: string + flowID: + description: Unique flow ID of the ERSPAN packet. + default: 1 + type: integer + minimum: 1 + maximum: 1023 + required: + - destIP + type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: enabledroplogs.aci.droplog +spec: + group: aci.droplog + names: + kind: EnableDropLog + listKind: EnableDropLogList + plural: enabledroplogs + singular: enabledroplog + scope: Cluster + versions: + - name: v1alpha1 + served: true + storage: true + schema: + # openAPIV3Schema is the schema for validating custom objects. + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + spec: + description: Defines the desired state of EnableDropLog + type: object + properties: + disableDefaultDropLog: + description: Disables the default droplog enabled by acc-provision. + default: false + type: boolean + nodeSelector: + type: object + description: Drop logging is enabled on nodes selected based on labels + properties: + labels: + type: object + properties: + additionalProperties: + type: string +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: prunedroplogs.aci.droplog +spec: + group: aci.droplog + names: + kind: PruneDropLog + listKind: PruneDropLogList + plural: prunedroplogs + singular: prunedroplog + scope: Cluster + versions: + - name: v1alpha1 + served: true + storage: true + schema: + # openAPIV3Schema is the schema for validating custom objects. + openAPIV3Schema: + type: object + properties: + apiVersion: + type: string + kind: + type: string + spec: + description: Defines the desired state of PruneDropLog + type: object + properties: + nodeSelector: + type: object + description: Drop logging filters are applied to nodes selected based on labels + properties: + labels: + type: object + properties: + additionalProperties: + type: string + dropLogFilters: + type: object + properties: + srcIP: + type: string + destIP: + type: string + srcMAC: + type: string + destMAC: + type: string + srcPort: + type: integer + destPort: + type: integer + ipProto: + type: integer +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: accprovisioninputs.aci.ctrl +spec: + group: aci.ctrl + names: + kind: AccProvisionInput + listKind: AccProvisionInputList + plural: accprovisioninputs + singular: accprovisioninput + scope: Namespaced + versions: + - name: v1alpha1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + description: accprovisioninput defines the input configuration for ACI CNI + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + description: AccProvisionInputSpec defines the desired spec for accprovisioninput object + properties: + acc_provision_input: + type: object + properties: + operator_managed_config: + type: object + properties: + enable_updates: + type: boolean + aci_config: + type: object + properties: + sync_login: + type: object + properties: + certfile: + type: string + keyfile: + type: string + client_ssl: + type: boolean + net_config: + type: object + properties: + interface_mtu: + type: integer + service_monitor_interval: + type: integer + pbr_tracking_non_snat: + type: boolean + pod_subnet_chunk_size: + type: integer + disable_wait_for_network: + type: boolean + duration_wait_for_network: + type: integer + registry: + type: object + properties: + image_prefix: + type: string + image_pull_secret: + type: string + aci_containers_operator_version: + type: string + aci_containers_controller_version: + type: string + aci_containers_host_version: + type: string + acc_provision_operator_version: + type: string + aci_cni_operator_version: + type: string + cnideploy_version: + type: string + opflex_agent_version: + type: string + openvswitch_version: + type: string + gbp_version: + type: string + logging: + type: object + properties: + size: + type: integer + controller_log_level: + type: string + hostagent_log_level: + type: string + opflexagent_log_level: + type: string + istio_config: + type: object + properties: + install_istio: + type: boolean + install_profile: + type: string + multus: + type: object + properties: + disable: + type: boolean + drop_log_config: + type: object + properties: + enable: + type: boolean + nodepodif_config: + type: object + properties: + enable: + type: boolean + sriov_config: + type: object + properties: + enable: + type: boolean + kube_config: + type: object + properties: + ovs_memory_limit: + type: string + use_privileged_containers: + type: boolean + image_pull_policy: + type: string + reboot_opflex_with_ovs: + type: string + snat_operator: + type: object + properties: + port_range: + type: object + properties: + start: + type: integer + end: + type: integer + ports_per_node: + type: integer + contract_scope: + type: string + disable_periodic_snat_global_info_sync: + type: boolean + type: object + status: + description: AccProvisionInputStatus defines the successful completion of AccProvisionInput + properties: + status: + type: boolean + type: object + required: + - spec + type: object +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: aci-operator-config + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers +data: + spec: |- + { + "flavor": "openshift-sdn-ovn-baremetal", + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiB0cnVlLAogICAgICAgICJhY2ktcG9saWN5LXRlbmFudCI6ICJrdWJlIiwKICAgICAgICAiYWNpLW5vZGViZC1kbiI6ICJ1bmkvdG4ta3ViZS9CRC1uZXRvcC1ub2RlcyIsCiAgICAgICAgImFjaS1zZXJ2aWNlLXBoeXMtZG9tIjogImt1YmUtcGh5c2RvbSIsCiAgICAgICAgImFjaS1zZXJ2aWNlLWVuY2FwIjogInZsYW4tTm9uZSIsCiAgICAgICAgImFjaS1wYnItdHJhY2tpbmctbm9uLXNuYXQiOiBmYWxzZSwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiAiY29tbW9uIiwKICAgICAgICAiYWNpLXZyZi1kbiI6ICJ1bmkvdG4tY29tbW9uL2N0eC1rdWJlIiwKICAgICAgICAiYWNpLXZyZiI6ICJrdWJlIiwKICAgICAgICAiYWNpLWwzb3V0IjogImwzb3V0IiwKICAgICAgICAiYWNpLWV4dC1uZXR3b3JrcyI6IFsKICAgICAgICAgICAgImRlZmF1bHQiCiAgICAgICAgXQogICAgfQogIGhvc3QtYWdlbnQtY29uZmlnOiB8LQogICAgewogICAgICAgICJmbGF2b3IiOiAib3BlbnNoaWZ0LXNkbi1vdm4tYmFyZW1ldGFsIiwKICAgICAgICAiYXBwLXByb2ZpbGUiOiAibmV0b3Ata3ViZSIsCiAgICAgICAgImNoYWluZWQtbW9kZSI6IHRydWUsCiAgICAgICAgInByaW1hcnktY25pLXBhdGgiOiAiL21udC9jbmktY29uZi9jbmkvbmV0LmQvMTAtb3ZuLWt1YmVybmV0ZXMuY29uZiIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktcHJlZml4IjogImt1YmUiLAogICAgICAgICJrdWJlYXBpLXZsYW4iOiA0MDAxLAogICAgICAgICJub2RlLXN1Ym5ldCI6ICIxMC4xLjAuMS8xNiIsCiAgICAgICAgImFjaS1hZGRpdGlvbmFsLXZsYW5zIjogIls0MDAyLCA0MDAzLCA0MDA5LCA0MDA0LTQwMDddIiwKICAgICAgICAiYWNpLXVzZS1nbG9iYWwtc2NvcGUtdmxhbiI6IHRydWUsCiAgICAgICAgImVuYWJsZS1kcm9wLWxvZyI6IHRydWUsCiAgICAgICAgImVuYWJsZS1ub2RlcG9kaWYiOiBmYWxzZQogICAgfQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VjcmV0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS11c2VyLWNlcnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCmRhdGE6CiAgdXNlci5rZXk6IExTMHRMUzFDUlVkSlRpQlFVa2xXUVZSRklFdEZXUzB0TFMwdENrMUpTVU5rWjBsQ1FVUkJUa0puYTNGb2EybEhPWGN3UWtGUlJVWkJRVk5EUVcxQmQyZG5TbU5CWjBWQlFXOUhRa0ZPY2l0QksyZFBTMkpCVmxaeVNuTUtZak1yV2xkaVkyNVdXRzh2WjJSMWVFbFVhM1p0TURsclpXbEdRMjRyVlhBdlUwZGtjWFkyUVdncmFteEtaa1kzZFhZclJtZERTblJEZUVRNE4zRlpkd293Y1RWRVkwZFdURWxqWmtZMFdsVmlPVUk0Y2twWFMwSkpObmRLWm5oMFRXWkdkVlZPV1RJMFkyZDNVWEJLY1hKTlZYRkJSSG92VFZjcmQzSmFaV2h6Q2xOdVJuTjVaWGRZVWpNNE9HVlNOMFZMYWtSWFpXZGtTbmxRWTFoQlowMUNRVUZGUTJkWlFqbEJXR0l4V21aQ1EwSlZlRUlyVldkRlZFZE5OeXMwV0RrS2FraGllVVV3UW14NGJHdG1hbkpzZDJSMmJWTTVUVGMzS3pKYU5tUkxRV2RRTXpOVVVrMHZVSGRGVFU5Wk4xSnVaRUp2SzFnMmVFUnpWbVJqVkVwSmVRbzFWbmM0ZUZWYWJISXJZWFZGVDJ4ek1scHVXbmd4TVdVMWVtZzNjMVV6VG1vMVN6TTFRbGRTT1VkVVdFbzJVRTFrY0ZRME9XeENPV0pzYkUxcVJISk1DamNyTldKRGMyUjFOak5QT0V0aFRqbFpVVXBDUVZCSFRXSndTSEJHYzNSRE1XTlhSM0JTVVhnemFYZEdLMXBNV1VGeVFWVmlRMHRpVjFGbVltbGFWSEFLUTFNNFJHZFBiWGxWTjNWTFZGSkxhVU1yTWxKWlZGTXpjSEpNVmpVM1IzWm1aa1o0U21wVWQwZDVhME5SVVVSdlIwSjNaalZwVDNONWRVMVJUbm8zU3dwU2FYSmlSREJLTjFJMldXVlJhMHBhSzNCRFpVdDNlU3RPZVVseGVHZ3dURUpFYlVKNWJWTkxkbGd3VjBWTFEybDBUMmR3YVRNeVJsZENiM0ZJYW1ZekNrMVJaeTlCYTBKTVFreFNjV1ZLZG5SelQyOHpiVXRQTkdFcmVESmxOM2xTVlV0ck1VTnZTM3BHVGtKSU1HNVZaVmhIYmxCM2FWUk9ZaXRpTVdabVUwWUtOM1pKU21KSVpHMUxaM1ZLZVRCc1ZVNUJOMGhhTnpkWUwybEtVa0ZyUVdwdVltVk1TMXA2YkRScmFWQTNNM0JwVUdaNFRHMHpOMlpRYWtvcmVVUnZOQXBhY0hkVmRWcFNLME5EV0d4SVNIWlBaV1p3T1UxV2NsZGpOV1ZxWTBNdlIyRkROazFYV1hsTmFuVlhUU3Q0UVhCcVkzVjJRV3RGUVhwWkszQXhOREJEQ25oM2NISTVOV3hwYm01MlYyTkROMDQzTURoQlNrWnBiVE12UmxVeE1FZEViemMzZVVsUFNUVm9LelV6TjBwaVdXUnROVFUxYUU5bFNDOUxhbE5sYTJnS1JVWTBUVzE0VWxCdGFYUTVPWGM5UFFvdExTMHRMVVZPUkNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQogIHVzZXIuY3J0OiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VJMlJFTkRRVlpGUTBGblVHOU5RVEJIUTFOeFIxTkpZak5FVVVWQ1FsRlZRVTFFZDNoRGVrRktRbWRPVmtKQldWUkJiRlpVVFZKWmQwWkJXVVFLVmxGUlMwUkJNVVJoV0U1cVlubENWR1ZZVGpCYVZ6RjZUVkpWZDBWM1dVUldVVkZFUkVGNFZtTXlWbmxKUnpGb1ltMVNiRnBZUVhkSWFHTk9UVlJqZHdwT1ZFVXlUV3BGZVU5VVRYZFhhR05PVFdwamQwNVVSVEJOYWtWNVQxUk5kMWRxUVRoTlVYTjNRMUZaUkZaUlVVZEZkMHBXVlhwRlYwMUNVVWRCTVZWRkNrTm5kMDVSTW14NldUSTRaMVV6Ykhwa1IxWjBZM3BGVmsxQ1RVZEJNVlZGUVhkM1RWWllUbXhqYVVKMFdWYzFhMXBYVm5kTlNVZG1UVUV3UjBOVGNVY0tVMGxpTTBSUlJVSkJVVlZCUVRSSFRrRkVRMEpwVVV0Q1oxRkVZUzluVUc5RWFXMTNSbFpoZVdKSE9TOXRWbTB6U2pGV05sQTBTR0p6VTBVMVREVjBVQXBhU0c5b1VYQXZiRXRtTUdodVlYSXJaMGxtYnpWVFdIaGxOM0l2YUZsQmFXSlJjMUV2VHpadFRVNUxkVkV6UW14VGVVaEllR1ZIVmtjdlVXWkxlVlpwQ21kVFQzTkRXRGhpVkVoNFlteEVWMDUxU0VsTlJVdFRZWEY2Umt0blFUZ3Zla1oyYzBzeVdHOWlSWEI0WWsxdWMwWXdaQzlRU0d0bGVFTnZkekZ1YjBnS1UyTnFNMFozU1VSQlVVRkNUVUV3UjBOVGNVZFRTV0l6UkZGRlFrSlJWVUZCTkVkQ1FVaFlLMnRNVkdVMlRFTkJRbVYzYlVOVWRrMXphblZ6U0dSd1dncHJhVEF4SzI1Uk4wdG9ia1ZTWWtKdEwzUmFOWE5qV2tVMFkzUkpjV05vTTI1NU1VVkpWRWhPZEZsWFMwSk9ORU5rVlV0amFuWkVWekpvTW5aclNHVm5DbkowV1dKV0swRmhSWE54TUcwMGRrZEdPVVZ0ZG5ReFkzQTVXVFF4U1hsTlFscFpjWGM0WXk5V01VRjBiVkpSWTFKVVdWRkJPRWd6VDBaRVkyaDVRaklLTUVwSVUwUnVRbTlUTjJabVUySkNlQW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gZXZlbnRzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgLSBzZXJ2aWNlYWNjb3VudHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHBhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvIgogIHJlc291cmNlczoKICAtIGNsdXN0ZXJyb2xlcwogIC0gY2x1c3RlcnJvbGViaW5kaW5ncwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIC0gZGFlbW9uc2V0cwogIC0gc3RhdGVmdWxzZXRzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBzZXJ2aWNlcy9zdGF0dXMKICB2ZXJiczoKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJtb25pdG9yaW5nLmNvcmVvcy5jb20iCiAgcmVzb3VyY2VzOgogIC0gc2VydmljZW1vbml0b3JzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGNyZWF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMvZmluYWxpemVycwogIC0gc25hdHBvbGljaWVzL3N0YXR1cwogIC0gbm9kZWluZm9zCiAgdmVyYnM6CiAgLSB1cGRhdGUKICAtIGNyZWF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gc25hdHBvbGljaWVzCiAgLSBub2RlaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0ZmxvdyIKICByZXNvdXJjZXM6CiAgLSBuZXRmbG93cG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZXJzcGFuIgogIHJlc291cmNlczoKICAtIGVyc3BhbnBvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtIGFwcHMub3BlbnNoaWZ0LmlvCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRuc25ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBkbnNuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSByZXBsaWNhdGlvbmNvbnRyb2xsZXJzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGV2ZW50cwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gIm5ldHdvcmtpbmcuazhzLmlvIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhcHBzIgogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRzCiAgLSByZXBsaWNhc2V0cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0cG9saWNpZXMKICAtIHNuYXRnbG9iYWxpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kcm9wbG9nIgogIHJlc291cmNlczoKICAtIGVuYWJsZWRyb3Bsb2dzCiAgLSBwcnVuZWRyb3Bsb2dzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIG5vZGVpbmZvcwogIC0gc25hdGxvY2FsaW5mb3MKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiY29uZmlnLm9wZW5zaGlmdC5pbyIKICByZXNvdXJjZXM6CiAgLSBpbmZyYXN0cnVjdHVyZXMKICB2ZXJiczoKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOiBbIms4cy5jbmkuY25jZi5pbyJdCiAgcmVzb3VyY2VzOgogIC0gJyonCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmZhYnJpY2F0dGFjaG1lbnQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogIHZlcmJzOgogIC0gIioiCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBjb25maWdtYXBzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudApzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwpzcGVjOgogIHVwZGF0ZVN0cmF0ZWd5OgogICAgdHlwZTogUm9sbGluZ1VwZGF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgICAgYW5ub3RhdGlvbnM6CiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBob3N0UElEOiB0cnVlCiAgICAgIGhvc3RJUEM6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtaG9zdDo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBzZWN1cml0eUNvbnRleHQ6CiAgICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUKICAgICAgICAgICAgY2FwYWJpbGl0aWVzOgogICAgICAgICAgICAgIGFkZDoKICAgICAgICAgICAgICAgIC0gU1lTX0FETUlOCiAgICAgICAgICAgICAgICAtIE5FVF9BRE1JTgogICAgICAgICAgICAgICAgLSBTWVNfUFRSQUNFCiAgICAgICAgICAgICAgICAtIE5FVF9SQVcKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBHT1RSQUNFQkFDSwogICAgICAgICAgICAgIHZhbHVlOiAiMiIKICAgICAgICAgICAgLSBuYW1lOiBLVUJFUk5FVEVTX05PREVfTkFNRQogICAgICAgICAgICAgIHZhbHVlRnJvbToKICAgICAgICAgICAgICAgIGZpZWxkUmVmOgogICAgICAgICAgICAgICAgICBmaWVsZFBhdGg6IHNwZWMubm9kZU5hbWUKICAgICAgICAgICAgLSBuYW1lOiBURU5BTlQKICAgICAgICAgICAgICB2YWx1ZTogImt1YmUiCiAgICAgICAgICAgIC0gbmFtZTogTk9ERV9FUEcKICAgICAgICAgICAgICB2YWx1ZTogIm5ldG9wLWt1YmV8bmV0b3Atbm9kZXMiCiAgICAgICAgICAgIC0gbmFtZTogTVVMVFVTCiAgICAgICAgICAgICAgdmFsdWU6ICdUcnVlJwogICAgICAgICAgICAtIG5hbWU6IERVUkFUSU9OX1dBSVRfRk9SX05FVFdPUksKICAgICAgICAgICAgICB2YWx1ZTogIjIxMCIKICAgICAgICAgICAgLSBuYW1lOiBDSEFJTkVEX01PREUKICAgICAgICAgICAgICB2YWx1ZTogInRydWUiCiAgICAgICAgICAgIC0gbmFtZTogUFJJTUFSWV9DTklfUEFUSAogICAgICAgICAgICAgIHZhbHVlOiAiL21udC9jbmktY29uZi9jbmkvbmV0LmQvMTAtb3ZuLWt1YmVybmV0ZXMuY29uZiIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1iaW4KICAgICAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktY29uZgogICAgICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvdmFyCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbW91bnRQYXRoOiAvcnVuL25ldG5zCiAgICAgICAgICAgICAgbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAgIG1vdW50UHJvcGFnYXRpb246IEhvc3RUb0NvbnRhaW5lcgogICAgICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9tdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTAKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHJlc3RhcnRQb2xpY3k6IEFsd2F5cwogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliCiAgICAgICAgLSBuYW1lOiBjbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbXVsdHVzCiAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3ZhcgogICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4KICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGhvc3QtYWdlbnQtY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBob3N0LWFnZW50LmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgLSBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAtIG5hbWU6IG11bHR1cy1jbmktY29uZgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvcnVuL211bHR1cy8KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGVwbG95bWVudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnNwZWM6CiAgcmVwbGljYXM6IDEKICBzdHJhdGVneToKICAgIHR5cGU6IFJlY3JlYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBlZmZlY3Q6IE5vRXhlY3V0ZQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgICAgdG9sZXJhdGlvblNlY29uZHM6IDYwCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS5rdWJlcm5ldGVzLmlvL25vdC1yZWFkeQogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUtcm9sZS5rdWJlcm5ldGVzLmlvL21hc3RlcgogICAgICAgICAgb3BlcmF0b3I6IEV4aXN0cwogICAgICBwcmlvcml0eUNsYXNzTmFtZTogYWNpY25pLXByaW9yaXR5CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgICAgICBpbWFnZTogbm9pcm8vYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcjo2LjAuMy4xLjgxYzIzNjkKICAgICAgICAgIGltYWdlUHVsbFBvbGljeTogQWx3YXlzCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogU1lTVEVNX05BTUVTUEFDRQogICAgICAgICAgICAgIHZhbHVlOiAiYWNpLWNvbnRhaW5lcnMtc3lzdGVtIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY2VydC8KICAgICAgICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwCiAgICAgICAgICAgIGh0dHBHZXQ6CiAgICAgICAgICAgICAgcGF0aDogL3N0YXR1cwogICAgICAgICAgICAgIHBvcnQ6IDgwOTEKICAgICAgICAgICAgICBzY2hlbWU6IEhUVFAKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTIwCiAgICAgICAgICAgIHBlcmlvZFNlY29uZHM6IDYwCiAgICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IDEKICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IDMwCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgc2VjcmV0OgogICAgICAgICAgICBzZWNyZXROYW1lOiBhY2ktdXNlci1jZXJ0CiAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBjb250cm9sbGVyLWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogY29udHJvbGxlci5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogTGltaXRSYW5nZQptZXRhZGF0YToKICBuYW1lOiBtZW1vcnktbGltaXQtcmFuZ2UKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQpzcGVjOgogIGxpbWl0czoKICAtIGRlZmF1bHQ6CiAgICAgIG1lbW9yeTogM0dpCiAgICBkZWZhdWx0UmVxdWVzdDoKICAgICAgbWVtb3J5OiAxMjhNaQogICAgdHlwZTogQ29udGFpbmVyCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgYW5ub3RhdGlvbnM6CiAgICBjb250cm9sbGVyLWdlbi5rdWJlYnVpbGRlci5pby92ZXJzaW9uOiB2MC4xMi4wCiAgbmFtZTogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cy5hY2kuZmFicmljYXR0YWNobWVudApzcGVjOgogIGdyb3VwOiBhY2kuZmFicmljYXR0YWNobWVudAogIG5hbWVzOgogICAga2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50CiAgICBsaXN0S2luZDogTm9kZUZhYnJpY05ldHdvcmtBdHRhY2htZW50TGlzdAogICAgcGx1cmFsOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgICBzaG9ydE5hbWVzOgogICAgLSBuZm5hCiAgICBzaW5ndWxhcjogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnQgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIEZhYnJpY0F0dGFjaG1lbnRzCiAgICAgICAgICBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbgogICAgICAgICAgICAgIG9mIGFuIG9iamVjdC4gU2VydmVycyBzaG91bGQgY29udmVydCByZWNvZ25pemVkIHNjaGVtYXMgdG8gdGhlIGxhdGVzdAogICAgICAgICAgICAgIGludGVybmFsIHZhbHVlLCBhbmQgbWF5IHJlamVjdCB1bnJlY29nbml6ZWQgdmFsdWVzLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3Jlc291cmNlcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0tpbmQgaXMgYSBzdHJpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBSRVNUIHJlc291cmNlIHRoaXMKICAgICAgICAgICAgICBvYmplY3QgcmVwcmVzZW50cy4gU2VydmVycyBtYXkgaW5mZXIgdGhpcyBmcm9tIHRoZSBlbmRwb2ludCB0aGUgY2xpZW50CiAgICAgICAgICAgICAgc3VibWl0cyByZXF1ZXN0cyB0by4gQ2Fubm90IGJlIHVwZGF0ZWQuIEluIENhbWVsQ2FzZS4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCN0eXBlcy1raW5kcycKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgbmV0d29yawogICAgICAgICAgICAgIGF0dGFjaG1lbnQgdG8gdGhlIGZhYnJpYwogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGFjaVRvcG9sb2d5OgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgZmFicmljTGluazoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgcG9kczoKICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsSWZhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RSZWY6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IE1hcCBvZiBpZmFjZSB0byBmYWJyaWNMaW5rCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBlbmNhcFZsYW46CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBuZXR3b3JrUmVmOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTUEVDIEZJRUxEUyAtIGRlc2lyZWQgc3RhdGUgb2YgY2x1c3RlcgogICAgICAgICAgICAgICAgICBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZSBjb2RlIGFmdGVyCiAgICAgICAgICAgICAgICAgIG1vZGlmeWluZyB0aGlzIGZpbGUgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyIHRhZ3M6CiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwgTmV0d29ya1JlZgogICAgICAgICAgICAgICAgICBpcyB0aGUgbnMvbmV0LWF0dC1kZWYgbmFtZSwgdXNlZCBhcyBwYXJ0IG9mIHRoZSBlcGcgbnMtPE5ldHdvcmtOYW1lPicKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgbm9kZU5hbWU6CiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBwcmltYXJ5Q25pOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdpbmZvcm1hdGlvbmFsOiBwcmltYXJ5Q05JIHNyaW92L21hY3ZsYW4nCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gbmV0d29ya1JlZgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mCiAgICAgICAgICAgICAgRmFicmljQXR0YWNobWVudAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHN0YXRlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJTlNFUlQgQURESVRJT05BTCBTVEFUVVMgRklFTEQgLSBkZWZpbmUgb2JzZXJ2ZWQgc3RhdGUKICAgICAgICAgICAgICAgICAgb2YgY2x1c3RlciBJbXBvcnRhbnQ6IFJ1biAib3BlcmF0b3Itc2RrIGdlbmVyYXRlIGs4cyIgdG8gcmVnZW5lcmF0ZQogICAgICAgICAgICAgICAgICBjb2RlIGFmdGVyIG1vZGlmeWluZyB0aGlzIGZpbGU3IEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlcgogICAgICAgICAgICAgICAgICB0YWdzOiBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIHN0YXRlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCg==" + } +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: acc-provision-config + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers +data: + spec: |- + { + "acc_provision_input": { + "operator_managed_config": { + "enable_updates": false + }, + "aci_config": { + "system_id": "kube", + "apic_hosts": [ + "10.30.120.100" + ], + "aep": "kube-aep", + "secondary_aep": "kube-aep-2", + "physical_domain": { + "domain": "kube-physdom", + "vlan_pool": "kube-pool" + }, + "vrf": { + "name": "kube", + "tenant": "common" + }, + "sync_login": { + "certfile": "user.crt", + "keyfile": "user.key" + }, + "vmm_domain": { + "type": "Kubernetes", + "encap_type": "vxlan", + "mcast_fabric": "225.1.2.3", + "mcast_range": { + "start": "225.20.1.1", + "end": "225.20.255.255" + } + }, + "l3out": { + "name": "l3out", + "external_networks": [ + "default" + ] + } + }, + "chained_cni_config": { + "enable": true, + "use_global_scope_vlan": true, + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" + }, + "net_config": { + "kubeapi_vlan": 4001, + "node_subnet": "10.1.0.1/16", + "secondary_vlans": "[4002, 4003, 4009, 4004-4007]", + } + } + } +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: aci-containers-config + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers +data: + controller-config: |- + { + "flavor": "openshift-sdn-ovn-baremetal", + "log-level": "info", + "apic-hosts": [ + "10.30.120.100" + ], + "aci-additional-aep": "kube-aep-2", + "chained-mode": true, + "primary-cni-path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "aci-phys-dom": "kube-physdom", + "apic-username": "kube", + "apic-private-key-path": "/usr/local/etc/aci-cert/user.key", + "aci-prefix": "kube", + "aci-vmm-type": "Kubernetes", + "aci-vmm-domain": "kube", + "aci-vmm-controller": "kube", + "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": true, + "aci-policy-tenant": "kube", + "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", + "aci-service-phys-dom": "kube-physdom", + "aci-service-encap": "vlan-None", + "aci-pbr-tracking-non-snat": false, + "aci-vrf-tenant": "common", + "aci-vrf-dn": "uni/tn-common/ctx-kube", + "aci-vrf": "kube", + "aci-l3out": "l3out", + "aci-ext-networks": [ + "default" + ] + } + host-agent-config: |- + { + "flavor": "openshift-sdn-ovn-baremetal", + "app-profile": "netop-kube", + "chained-mode": true, + "primary-cni-path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "log-level": "info", + "aci-vmm-type": "Kubernetes", + "aci-vmm-domain": "kube", + "aci-vmm-controller": "kube", + "aci-vrf": "kube", + "aci-vrf-tenant": "common", + "aci-prefix": "kube", + "kubeapi-vlan": 4001, + "node-subnet": "10.1.0.1/16", + "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": true, + "enable-drop-log": true, + "enable-nodepodif": false + } +--- +apiVersion: v1 +kind: Secret +metadata: + name: aci-user-cert + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" +data: + user.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUNkZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQW1Bd2dnSmNBZ0VBQW9HQkFOcitBK2dPS2JBVlZySnMKYjMrWldiY25WWG8vZ2R1eElUa3ZtMDlrZWlGQ24rVXAvU0dkcXY2QWgramxKZkY3dXYrRmdDSnRDeEQ4N3FZdwowcTVEY0dWTEljZkY0WlViOUI4ckpXS0JJNndKZnh0TWZGdVVOWTI0Y2d3UXBKcXJNVXFBRHovTVcrd3JaZWhzClNuRnN5ZXdYUjM4OGVSN0VLakRXZWdkSnlQY1hBZ01CQUFFQ2dZQjlBWGIxWmZCQ0JVeEIrVWdFVEdNNys0WDkKakhieUUwQmx4bGtmanJsd2R2bVM5TTc3KzJaNmRLQWdQMzNUUk0vUHdFTU9ZN1JuZEJvK1g2eERzVmRjVEpJeQo1Vnc4eFVabHIrYXVFT2xzMlpuWngxMWU1emg3c1UzTmo1SzM1QldSOUdUWEo2UE1kcFQ0OWxCOWJsbE1qRHJMCjcrNWJDc2R1NjNPOEthTjlZUUpCQVBHTWJwSHBGc3RDMWNXR3BSUXgzaXdGK1pMWUFyQVViQ0tiV1FmYmlaVHAKQ1M4RGdPbXlVN3VLVFJLaUMrMlJZVFMzcHJMVjU3R3ZmZkZ4SmpUd0d5a0NRUURvR0J3ZjVpT3N5dU1RTno3SwpSaXJiRDBKN1I2WWVRa0paK3BDZUt3eStOeUlxeGgwTEJEbUJ5bVNLdlgwV0VLQ2l0T2dwaTMyRldCb3FIamYzCk1RZy9Ba0JMQkxScWVKdnRzT28zbUtPNGEreDJlN3lSVUtrMUNvS3pGTkJIMG5VZVhHblB3aVROYitiMWZmU0YKN3ZJSmJIZG1LZ3VKeTBsVU5BN0haNzdYL2lKUkFrQWpuYmVMS1p6bDRraVA3M3BpUGZ4TG0zN2ZQakoreURvNApacHdVdVpSK0NDWGxISHZPZWZwOU1WcldjNWVqY0MvR2FDNk1XWXlNanVXTSt4QXBqY3V2QWtFQXpZK3AxNDBDCnh3cHI5NWxpbm52V2NDN043MDhBSkZpbTMvRlUxMEdEbzc3eUlPSTVoKzUzN0piWWRtNTU1aE9lSC9LalNla2gKRUY0TW14UlBtaXQ5OXc9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg== + user.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUI2RENDQVZFQ0FnUG9NQTBHQ1NxR1NJYjNEUUVCQlFVQU1Ed3hDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWUQKVlFRS0RBMURhWE5qYnlCVGVYTjBaVzF6TVJVd0V3WURWUVFEREF4VmMyVnlJRzFoYm1SbFpYQXdIaGNOTVRjdwpOVEUyTWpFeU9UTXdXaGNOTWpjd05URTBNakV5T1RNd1dqQThNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFCkNnd05RMmx6WTI4Z1UzbHpkR1Z0Y3pFVk1CTUdBMVVFQXd3TVZYTmxjaUJ0WVc1a1pXVndNSUdmTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEYS9nUG9EaW13RlZheWJHOS9tVm0zSjFWNlA0SGJzU0U1TDV0UApaSG9oUXAvbEtmMGhuYXIrZ0lmbzVTWHhlN3IvaFlBaWJRc1EvTzZtTU5LdVEzQmxTeUhIeGVHVkcvUWZLeVZpCmdTT3NDWDhiVEh4YmxEV051SElNRUtTYXF6RktnQTgvekZ2c0syWG9iRXB4Yk1uc0YwZC9QSGtleENvdzFub0gKU2NqM0Z3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUhYK2tMVGU2TENBQmV3bUNUdk1zanVzSGRwWgpraTAxK25RN0tobkVSYkJtL3RaNXNjWkU0Y3RJcWNoM255MUVJVEhOdFlXS0JONENkVUtjanZEVzJoMnZrSGVnCnJ0WWJWK0FhRXNxMG00dkdGOUVtdnQxY3A5WTQxSXlNQlpZcXc4Yy9WMUF0bVJRY1JUWVFBOEgzT0ZEY2h5QjIKMEpIU0RuQm9TN2ZmU2JCeAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: aci-containers-controller + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: aci-containers-host-agent + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers + name: aci-containers-controller +rules: +- apiGroups: + - "" + resources: + - nodes + - namespaces + - pods + - endpoints + - services + - events + - replicationcontrollers + - serviceaccounts + verbs: + - list + - watch + - get + - patch + - create + - update + - delete +- apiGroups: + - "" + resources: + - configmaps + verbs: + - list + - watch + - get + - create + - update + - delete +- apiGroups: + - "apiextensions.k8s.io" + resources: + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - "rbac.authorization.k8s.io" + resources: + - clusterroles + - clusterrolebindings + verbs: + - '*' +- apiGroups: + - "networking.k8s.io" + resources: + - networkpolicies + verbs: + - list + - watch + - get +- apiGroups: + - "apps" + resources: + - deployments + - replicasets + - daemonsets + - statefulsets + verbs: + - '*' +- apiGroups: + - "" + resources: + - nodes + - services/status + verbs: + - update +- apiGroups: + - "monitoring.coreos.com" + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - "aci.snat" + resources: + - snatpolicies/finalizers + - snatpolicies/status + - nodeinfos + verbs: + - update + - create + - list + - watch + - get + - delete +- apiGroups: + - "aci.snat" + resources: + - snatglobalinfos + - snatpolicies + - nodeinfos + - rdconfigs + verbs: + - list + - watch + - get + - create + - update + - delete +- apiGroups: + - "aci.qos" + resources: + - qospolicies + verbs: + - list + - watch + - get + - create + - update + - delete + - patch +- apiGroups: + - "aci.netflow" + resources: + - netflowpolicies + verbs: + - list + - watch + - get + - update +- apiGroups: + - "aci.erspan" + resources: + - erspanpolicies + verbs: + - list + - watch + - get + - update +- apiGroups: + - "aci.aw" + resources: + - nodepodifs + verbs: + - '*' +- apiGroups: + - apps.openshift.io + resources: + - deploymentconfigs + verbs: + - list + - watch + - get +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - list + - watch +- apiGroups: + - "aci.netpol" + resources: + - networkpolicies + verbs: + - get + - list + - watch + - create + - update + - delete +- apiGroups: + - "aci.dnsnetpol" + resources: + - dnsnetworkpolicies + verbs: + - get + - list + - watch + - create + - update + - delete +- apiGroups: + - "aci.fabricattachment" + resources: + - nodefabricnetworkattachments + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers + name: aci-containers-host-agent +rules: +- apiGroups: + - "" + resources: + - nodes + - namespaces + - pods + - endpoints + - services + - replicationcontrollers + verbs: + - list + - watch + - get + - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - "apiextensions.k8s.io" + resources: + - customresourcedefinitions + verbs: + - list + - watch + - get +- apiGroups: + - "networking.k8s.io" + resources: + - networkpolicies + verbs: + - list + - watch + - get +- apiGroups: + - "apps" + resources: + - deployments + - replicasets + verbs: + - list + - watch + - get +- apiGroups: + - "aci.snat" + resources: + - snatpolicies + - snatglobalinfos + - rdconfigs + verbs: + - list + - watch + - get +- apiGroups: + - "aci.qos" + resources: + - qospolicies + verbs: + - list + - watch + - get + - create + - update + - delete + - patch +- apiGroups: + - "aci.droplog" + resources: + - enabledroplogs + - prunedroplogs + verbs: + - list + - watch + - get +- apiGroups: + - "aci.snat" + resources: + - nodeinfos + - snatlocalinfos + verbs: + - create + - update + - list + - watch + - get + - delete +- apiGroups: + - "config.openshift.io" + resources: + - infrastructures + verbs: + - get +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - list + - watch +- apiGroups: + - "aci.netpol" + resources: + - networkpolicies + verbs: + - get + - list + - watch +- apiGroups: + - "aci.aw" + resources: + - nodepodifs + verbs: + - "*" +- apiGroups: ["k8s.cni.cncf.io"] + resources: + - '*' + verbs: + - '*' +- apiGroups: + - "aci.fabricattachment" + resources: + - nodefabricnetworkattachments + verbs: + - "*" +- apiGroups: + - "" + resources: + - configmaps + verbs: + - list + - watch + - get + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: aci-containers-controller + labels: + aci-containers-config-version: "dummy" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: aci-containers-controller +subjects: +- kind: ServiceAccount + name: aci-containers-controller + namespace: aci-containers-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: aci-containers-host-agent + labels: + aci-containers-config-version: "dummy" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: aci-containers-host-agent +subjects: +- kind: ServiceAccount + name: aci-containers-host-agent + namespace: aci-containers-system +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: aci-containers-host + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers +spec: + updateStrategy: + type: RollingUpdate + selector: + matchLabels: + name: aci-containers-host + network-plugin: aci-containers + template: + metadata: + labels: + name: aci-containers-host + network-plugin: aci-containers + annotations: + spec: + hostNetwork: true + hostPID: true + hostIPC: true + serviceAccountName: aci-containers-host-agent + tolerations: + - operator: Exists + priorityClassName: acicni-priority + containers: + - name: aci-containers-host + image: noiro/aci-containers-host:6.0.3.1.81c2369 + imagePullPolicy: Always + securityContext: + privileged: true + capabilities: + add: + - SYS_ADMIN + - NET_ADMIN + - SYS_PTRACE + - NET_RAW + env: + - name: GOTRACEBACK + value: "2" + - name: KUBERNETES_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: TENANT + value: "kube" + - name: NODE_EPG + value: "netop-kube|netop-nodes" + - name: MULTUS + value: 'True' + - name: DURATION_WAIT_FOR_NETWORK + value: "210" + - name: CHAINED_MODE + value: "true" + - name: PRIMARY_CNI_PATH + value: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" + volumeMounts: + - name: cni-bin + mountPath: /mnt/cni-bin + - name: cni-conf + mountPath: /mnt/cni-conf + - name: hostvar + mountPath: /usr/local/var + - name: hostrun + mountPath: /run + - name: hostrun + mountPath: /usr/local/run + - name: host-config-volume + mountPath: /usr/local/etc/aci-containers/ + - name: varlogpods + mountPath: /var/log/pods + readOnly: true + - name: varlogcontainers + mountPath: /var/log/containers + readOnly: true + - name: varlibdocker + mountPath: /var/lib/docker + readOnly: true + - mountPath: /run/netns + name: host-run-netns + readOnly: true + mountPropagation: HostToContainer + - name: multus-cni-conf + mountPath: /mnt/multus-cni-conf + livenessProbe: + failureThreshold: 10 + httpGet: + path: /status + port: 8090 + scheme: HTTP + initialDelaySeconds: 120 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 30 + restartPolicy: Always + volumes: + - name: cni-bin + hostPath: + path: /var/lib + - name: cni-conf + hostPath: + path: /run/multus + - name: hostvar + hostPath: + path: /var + - name: hostrun + hostPath: + path: /run + - name: host-config-volume + configMap: + name: aci-containers-config + items: + - key: host-agent-config + path: host-agent.conf + - name: varlogpods + hostPath: + path: /var/log/pods + - name: varlogcontainers + hostPath: + path: /var/log/containers + - name: varlibdocker + hostPath: + path: /var/lib/docker + - name: host-run-netns + hostPath: + path: /run/netns + - name: multus-cni-conf + hostPath: + path: /var/run/multus/ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: aci-containers-controller + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers + name: aci-containers-controller +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + name: aci-containers-controller + network-plugin: aci-containers + template: + metadata: + name: aci-containers-controller + namespace: aci-containers-system + labels: + name: aci-containers-controller + network-plugin: aci-containers + spec: + hostNetwork: true + serviceAccountName: aci-containers-controller + tolerations: + - effect: NoExecute + operator: Exists + tolerationSeconds: 60 + - effect: NoSchedule + key: node.kubernetes.io/not-ready + operator: Exists + - effect: NoSchedule + key: node-role.kubernetes.io/master + operator: Exists + priorityClassName: acicni-priority + containers: + - name: aci-containers-controller + image: noiro/aci-containers-controller:6.0.3.1.81c2369 + imagePullPolicy: Always + env: + - name: SYSTEM_NAMESPACE + value: "aci-containers-system" + volumeMounts: + - name: controller-config-volume + mountPath: /usr/local/etc/aci-containers/ + - name: varlogpods + mountPath: /var/log/pods + readOnly: true + - name: varlogcontainers + mountPath: /var/log/containers + readOnly: true + - name: varlibdocker + mountPath: /var/lib/docker + readOnly: true + - name: aci-user-cert-volume + mountPath: /usr/local/etc/aci-cert/ + livenessProbe: + failureThreshold: 10 + httpGet: + path: /status + port: 8091 + scheme: HTTP + initialDelaySeconds: 120 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 30 + volumes: + - name: aci-user-cert-volume + secret: + secretName: aci-user-cert + - name: controller-config-volume + configMap: + name: aci-containers-config + items: + - key: controller-config + path: controller.conf + - name: varlogpods + hostPath: + path: /var/log/pods + - name: varlogcontainers + hostPath: + path: /var/log/containers + - name: varlibdocker + hostPath: + path: /var/lib/docker +--- +apiVersion: v1 +kind: LimitRange +metadata: + name: memory-limit-range + namespace: aci-containers-system +spec: + limits: + - default: + memory: 3Gi + defaultRequest: + memory: 128Mi + type: Container +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.12.0 + name: nodefabricnetworkattachments.aci.fabricattachment +spec: + group: aci.fabricattachment + names: + kind: NodeFabricNetworkAttachment + listKind: NodeFabricNetworkAttachmentList + plural: nodefabricnetworkattachments + shortNames: + - nfna + singular: nodefabricnetworkattachment + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: NodeFabricAttachment is the Schema for the FabricAttachments + API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: NodeFabricAttachmentSpec defines the desired state of network + attachment to the fabric + properties: + aciTopology: + additionalProperties: + properties: + fabricLink: + items: + type: string + type: array + pods: + items: + properties: + localIface: + type: string + podRef: + properties: + name: + type: string + namespace: + type: string + required: + - name + - namespace + type: object + type: object + type: array + type: object + description: Map of iface to fabricLink + type: object + encapVlan: + type: string + networkRef: + description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "operator-sdk generate k8s" to regenerate code after + modifying this file Add custom validation using kubebuilder tags: + https://book.kubebuilder.io/beyond_basics/generating_crd.html NetworkRef + is the ns/net-att-def name, used as part of the epg ns-' + properties: + name: + type: string + namespace: + type: string + required: + - name + - namespace + type: object + nodeName: + type: string + primaryCni: + description: 'informational: primaryCNI sriov/macvlan' + type: string + required: + - networkRef + type: object + status: + description: NodeFabricAttachmentStatus defines the observed state of + FabricAttachment + properties: + state: + description: 'INSERT ADDITIONAL STATUS FIELD - define observed state + of cluster Important: Run "operator-sdk generate k8s" to regenerate + code after modifying this file7 Add custom validation using kubebuilder + tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html' + type: string + required: + - state + type: object + type: object + served: true + storage: true +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: aci-containers-operator + namespace: aci-containers-system + labels: + aci-containers-config-version: "dummy" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + aci-containers-config-version: "dummy" + network-plugin: aci-containers + name: aci-containers-operator +rules: +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + - clusterrolebindings + verbs: + - '*' +- apiGroups: + - '' + resources: + - nodes + - namespaces + - configmaps + - secrets + - pods + - services + - serviceaccounts + - serviceaccounts/token + - endpoints + - events + verbs: + - '*' +- apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - list + - watch + - get +- apiGroups: + - "monitoring.coreos.com" + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - apps + resources: + - deployments + - replicasets + - daemonsets + - statefulsets + verbs: + - '*' +- apiGroups: + - aci.ctrl + resources: + - acicontainersoperators + - acicontainersoperators/status + - acicontainersoperators/finalizers + verbs: + - '*' +- apiGroups: + - aci.ctrl + resources: + - accprovisioninputs + - accprovisioninputs/status + - accprovisioninputs/finalizers + verbs: + - '*' +- apiGroups: + - scheduling.k8s.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - aci.snat + resources: + - snatpolicies + - snatglobalinfos + - rdconfigs + verbs: + - list + - watch + - get +- apiGroups: + - aci.snat + resources: + - nodeinfos + verbs: + - create + - update + - list + - watch + - get +- apiGroups: + - config.openshift.io + - operator.openshift.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - create + - update + - list + - watch + - get +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: aci-containers-operator + labels: + aci-containers-config-version: "dummy" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: aci-containers-operator +subjects: +- kind: ServiceAccount + name: aci-containers-operator + namespace: aci-containers-system diff --git a/provision/testdata/with_preexisting_tenant_chained_mode.inp.yaml b/provision/testdata/with_preexisting_tenant_chained_mode.inp.yaml index 4c1beaa2a..84c50a1e1 100644 --- a/provision/testdata/with_preexisting_tenant_chained_mode.inp.yaml +++ b/provision/testdata/with_preexisting_tenant_chained_mode.inp.yaml @@ -33,5 +33,4 @@ net_config: chained_cni_config: enable: true - primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" - skip_node_network_provisioning: false \ No newline at end of file + primary_cni_path: "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" \ No newline at end of file diff --git a/provision/testdata/with_preexisting_tenant_chained_mode.kube.yaml b/provision/testdata/with_preexisting_tenant_chained_mode.kube.yaml index 57fe28343..469bef917 100644 --- a/provision/testdata/with_preexisting_tenant_chained_mode.kube.yaml +++ b/provision/testdata/with_preexisting_tenant_chained_mode.kube.yaml @@ -1296,7 +1296,7 @@ data: spec: |- { "flavor": "openshift-sdn-ovn-baremetal", - "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS1wb2xpY3ktdGVuYW50IjogImt1YmUiLAogICAgICAgICJhY2ktbm9kZWJkLWRuIjogInVuaS90bi1rdWJlL0JELW5ldG9wLW5vZGVzIiwKICAgICAgICAiYWNpLXNlcnZpY2UtcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYWNpLXNlcnZpY2UtZW5jYXAiOiAidmxhbi1Ob25lIiwKICAgICAgICAiYWNpLXBici10cmFja2luZy1ub24tc25hdCI6IGZhbHNlLAogICAgICAgICJhY2ktdnJmLXRlbmFudCI6ICJjb21tb24iLAogICAgICAgICJhY2ktdnJmLWRuIjogInVuaS90bi1jb21tb24vY3R4LWt1YmUiLAogICAgICAgICJhY2ktdnJmIjogImt1YmUiLAogICAgICAgICJhY2ktbDNvdXQiOiAibDNvdXQiLAogICAgICAgICJhY2ktZXh0LW5ldHdvcmtzIjogWwogICAgICAgICAgICAiZGVmYXVsdCIKICAgICAgICBdCiAgICB9CiAgaG9zdC1hZ2VudC1jb25maWc6IHwtCiAgICB7CiAgICAgICAgImZsYXZvciI6ICJvcGVuc2hpZnQtc2RuLW92bi1iYXJlbWV0YWwiLAogICAgICAgICJhcHAtcHJvZmlsZSI6ICJuZXRvcC1rdWJlIiwKICAgICAgICAiY2hhaW5lZC1tb2RlIjogdHJ1ZSwKICAgICAgICAicHJpbWFyeS1jbmktcGF0aCI6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIiwKICAgICAgICAibG9nLWxldmVsIjogImluZm8iLAogICAgICAgICJhY2ktdm1tLXR5cGUiOiAiS3ViZXJuZXRlcyIsCiAgICAgICAgImFjaS12bW0tZG9tYWluIjogImt1YmUiLAogICAgICAgICJhY2ktdm1tLWNvbnRyb2xsZXIiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS1wcmVmaXgiOiAia3ViZSIsCiAgICAgICAgImt1YmVhcGktdmxhbiI6IDQwMDEsCiAgICAgICAgIm5vZGUtc3VibmV0IjogIjEwLjEuMC4xLzE2IiwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtdmxhbnMiOiAiWzQwMDIsIDQwMDMsIDQwMDksIDQwMDQtNDAwN10iLAogICAgICAgICJlbmFibGUtZHJvcC1sb2ciOiB0cnVlLAogICAgICAgICJlbmFibGUtbm9kZXBvZGlmIjogZmFsc2UKICAgIH0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlY3JldAptZXRhZGF0YToKICBuYW1lOiBhY2ktdXNlci1jZXJ0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgpkYXRhOgogIHVzZXIua2V5OiBMUzB0TFMxQ1JVZEpUaUJRVWtsV1FWUkZJRXRGV1MwdExTMHRDazFKU1VOa1owbENRVVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJSVVpCUVZORFFXMUJkMmRuU21OQlowVkJRVzlIUWtGT2NpdEJLMmRQUzJKQlZsWnlTbk1LWWpNcldsZGlZMjVXV0c4dloyUjFlRWxVYTNadE1EbHJaV2xHUTI0clZYQXZVMGRrY1hZMlFXZ3JhbXhLWmtZM2RYWXJSbWREU25SRGVFUTROM0ZaZHdvd2NUVkVZMGRXVEVsalprWTBXbFZpT1VJNGNrcFhTMEpKTm5kS1puaDBUV1pHZFZWT1dUSTBZMmQzVVhCS2NYSk5WWEZCUkhvdlRWY3JkM0phWldoekNsTnVSbk41WlhkWVVqTTRPR1ZTTjBWTGFrUlhaV2RrU25sUVkxaEJaMDFDUVVGRlEyZFpRamxCV0dJeFdtWkNRMEpWZUVJclZXZEZWRWROTnlzMFdEa0tha2hpZVVVd1FteDRiR3RtYW5Kc2QyUjJiVk01VFRjM0t6SmFObVJMUVdkUU16TlVVazB2VUhkRlRVOVpOMUp1WkVKdksxZzJlRVJ6Vm1SalZFcEplUW8xVm5jNGVGVmFiSElyWVhWRlQyeHpNbHB1V25neE1XVTFlbWczYzFVelRtbzFTek0xUWxkU09VZFVXRW8yVUUxa2NGUTBPV3hDT1dKc2JFMXFSSEpNQ2pjck5XSkRjMlIxTmpOUE9FdGhUamxaVVVwQ1FWQkhUV0p3U0hCR2MzUkRNV05YUjNCU1VYZ3phWGRHSzFwTVdVRnlRVlZpUTB0aVYxRm1ZbWxhVkhBS1ExTTRSR2RQYlhsVk4zVkxWRkpMYVVNck1sSlpWRk16Y0hKTVZqVTNSM1ptWmtaNFNtcFVkMGQ1YTBOUlVVUnZSMEozWmpWcFQzTjVkVTFSVG5vM1N3cFNhWEppUkRCS04xSTJXV1ZSYTBwYUszQkRaVXQzZVN0T2VVbHhlR2d3VEVKRWJVSjViVk5MZGxnd1YwVkxRMmwwVDJkd2FUTXlSbGRDYjNGSWFtWXpDazFSWnk5QmEwSk1Ra3hTY1dWS2RuUnpUMjh6YlV0UE5HRXJlREpsTjNsU1ZVdHJNVU52UzNwR1RrSklNRzVWWlZoSGJsQjNhVlJPWWl0aU1XWm1VMFlLTjNaSlNtSklaRzFMWjNWS2VUQnNWVTVCTjBoYU56ZFlMMmxLVWtGclFXcHVZbVZNUzFwNmJEUnJhVkEzTTNCcFVHWjRURzB6TjJaUWFrb3JlVVJ2TkFwYWNIZFZkVnBTSzBORFdHeElTSFpQWldad09VMVdjbGRqTldWcVkwTXZSMkZETmsxWFdYbE5hblZYVFN0NFFYQnFZM1YyUVd0RlFYcFpLM0F4TkRCRENuaDNjSEk1Tld4cGJtNTJWMk5ETjA0M01EaEJTa1pwYlRNdlJsVXhNRWRFYnpjM2VVbFBTVFZvS3pVek4wcGlXV1J0TlRVMWFFOWxTQzlMYWxObGEyZ0tSVVkwVFcxNFVsQnRhWFE1T1hjOVBRb3RMUzB0TFVWT1JDQlFVa2xXUVZSRklFdEZXUzB0TFMwdENnPT0KICB1c2VyLmNydDogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSTJSRU5EUVZaRlEwRm5VRzlOUVRCSFExTnhSMU5KWWpORVVVVkNRbEZWUVUxRWQzaERla0ZLUW1kT1ZrSkJXVlJCYkZaVVRWSlpkMFpCV1VRS1ZsRlJTMFJCTVVSaFdFNXFZbmxDVkdWWVRqQmFWekY2VFZKVmQwVjNXVVJXVVZGRVJFRjRWbU15Vm5sSlJ6Rm9ZbTFTYkZwWVFYZElhR05PVFZSamR3cE9WRVV5VFdwRmVVOVVUWGRYYUdOT1RXcGpkMDVVUlRCTmFrVjVUMVJOZDFkcVFUaE5VWE4zUTFGWlJGWlJVVWRGZDBwV1ZYcEZWMDFDVVVkQk1WVkZDa05uZDA1Uk1teDZXVEk0WjFVemJIcGtSMVowWTNwRlZrMUNUVWRCTVZWRlFYZDNUVlpZVG14amFVSjBXVmMxYTFwWFZuZE5TVWRtVFVFd1IwTlRjVWNLVTBsaU0wUlJSVUpCVVZWQlFUUkhUa0ZFUTBKcFVVdENaMUZFWVM5blVHOUVhVzEzUmxaaGVXSkhPUzl0Vm0welNqRldObEEwU0dKelUwVTFURFYwVUFwYVNHOW9VWEF2YkV0bU1HaHVZWElyWjBsbWJ6VlRXSGhsTjNJdmFGbEJhV0pSYzFFdlR6WnRUVTVMZFZFelFteFRlVWhJZUdWSFZrY3ZVV1pMZVZacENtZFRUM05EV0RoaVZFaDRZbXhFVjA1MVNFbE5SVXRUWVhGNlJrdG5RVGd2ZWtaMmMwc3lXRzlpUlhCNFlrMXVjMFl3WkM5UVNHdGxlRU52ZHpGdWIwZ0tVMk5xTTBaM1NVUkJVVUZDVFVFd1IwTlRjVWRUU1dJelJGRkZRa0pSVlVGQk5FZENRVWhZSzJ0TVZHVTJURU5CUW1WM2JVTlVkazF6YW5WelNHUndXZ3ByYVRBeEsyNVJOMHRvYmtWU1lrSnRMM1JhTlhOaldrVTBZM1JKY1dOb00yNTVNVVZKVkVoT2RGbFhTMEpPTkVOa1ZVdGphblpFVnpKb01uWnJTR1ZuQ25KMFdXSldLMEZoUlhOeE1HMDBka2RHT1VWdGRuUXhZM0E1V1RReFNYbE5RbHBaY1hjNFl5OVdNVUYwYlZKUlkxSlVXVkZCT0VnelQwWkVZMmg1UWpJS01FcElVMFJ1UW05VE4yWm1VMkpDZUFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQotLS0KYXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZUFjY291bnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIGV2ZW50cwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIC0gc2VydmljZWFjY291bnRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBwYXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhcGlleHRlbnNpb25zLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAicmJhYy5hdXRob3JpemF0aW9uLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBjbHVzdGVycm9sZXMKICAtIGNsdXN0ZXJyb2xlYmluZGluZ3MKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICAtIGRhZW1vbnNldHMKICAtIHN0YXRlZnVsc2V0cwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gc2VydmljZXMvc3RhdHVzCiAgdmVyYnM6CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAibW9uaXRvcmluZy5jb3Jlb3MuY29tIgogIHJlc291cmNlczoKICAtIHNlcnZpY2Vtb25pdG9ycwogIHZlcmJzOgogIC0gZ2V0CiAgLSBjcmVhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzL2ZpbmFsaXplcnMKICAtIHNuYXRwb2xpY2llcy9zdGF0dXMKICAtIG5vZGVpbmZvcwogIHZlcmJzOgogIC0gdXBkYXRlCiAgLSBjcmVhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHNuYXRwb2xpY2llcwogIC0gbm9kZWluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldGZsb3ciCiAgcmVzb3VyY2VzOgogIC0gbmV0Zmxvd3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSB1cGRhdGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmVyc3BhbiIKICByZXNvdXJjZXM6CiAgLSBlcnNwYW5wb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSBhcHBzLm9wZW5zaGlmdC5pbwogIHJlc291cmNlczoKICAtIGRlcGxveW1lbnRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5kbnNuZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gZG5zbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGUKbWV0YWRhdGE6CiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKcnVsZXM6Ci0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBub2RlcwogIC0gbmFtZXNwYWNlcwogIC0gcG9kcwogIC0gZW5kcG9pbnRzCiAgLSBzZXJ2aWNlcwogIC0gcmVwbGljYXRpb25jb250cm9sbGVycwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIiIKICByZXNvdXJjZXM6CiAgLSBldmVudHMKICB2ZXJiczoKICAtIGNyZWF0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJuZXR3b3JraW5nLms4cy5pbyIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYXBwcyIKICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50cwogIC0gcmVwbGljYXNldHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdHBvbGljaWVzCiAgLSBzbmF0Z2xvYmFsaW5mb3MKICAtIHJkY29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kucW9zIgogIHJlc291cmNlczoKICAtIHFvc3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCiAgLSBwYXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kuZHJvcGxvZyIKICByZXNvdXJjZXM6CiAgLSBlbmFibGVkcm9wbG9ncwogIC0gcHJ1bmVkcm9wbG9ncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtICJhY2kuc25hdCIKICByZXNvdXJjZXM6CiAgLSBub2RlaW5mb3MKICAtIHNuYXRsb2NhbGluZm9zCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImNvbmZpZy5vcGVuc2hpZnQuaW8iCiAgcmVzb3VyY2VzOgogIC0gaW5mcmFzdHJ1Y3R1cmVzCiAgdmVyYnM6CiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSBkaXNjb3ZlcnkuazhzLmlvCiAgcmVzb3VyY2VzOgogIC0gZW5kcG9pbnRzbGljZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLm5ldHBvbCIKICByZXNvdXJjZXM6CiAgLSBuZXR3b3JrcG9saWNpZXMKICB2ZXJiczoKICAtIGdldAogIC0gbGlzdAogIC0gd2F0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmF3IgogIHJlc291cmNlczoKICAtIG5vZGVwb2RpZnMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczogWyJrOHMuY25pLmNuY2YuaW8iXQogIHJlc291cmNlczoKICAtICcqJwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gImFjaS5mYWJyaWNhdHRhY2htZW50IgogIHJlc291cmNlczoKICAtIG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICB2ZXJiczoKICAtICIqIgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gY29uZmlnbWFwcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlQmluZGluZwptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKcm9sZVJlZjoKICBhcGlHcm91cDogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pbwogIGtpbmQ6IENsdXN0ZXJSb2xlCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzdWJqZWN0czoKLSBraW5kOiBTZXJ2aWNlQWNjb3VudAogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IGFwcHMvdjEKa2luZDogRGFlbW9uU2V0Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKc3BlYzoKICB1cGRhdGVTdHJhdGVneToKICAgIHR5cGU6IFJvbGxpbmdVcGRhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoKICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICAgIGFubm90YXRpb25zOgogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgaG9zdFBJRDogdHJ1ZQogICAgICBob3N0SVBDOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWhvc3Q6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgc2VjdXJpdHlDb250ZXh0OgogICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICAgICAgICAgIGNhcGFiaWxpdGllczoKICAgICAgICAgICAgICBhZGQ6CiAgICAgICAgICAgICAgICAtIFNZU19BRE1JTgogICAgICAgICAgICAgICAgLSBORVRfQURNSU4KICAgICAgICAgICAgICAgIC0gU1lTX1BUUkFDRQogICAgICAgICAgICAgICAgLSBORVRfUkFXCiAgICAgICAgICBlbnY6CiAgICAgICAgICAgIC0gbmFtZTogR09UUkFDRUJBQ0sKICAgICAgICAgICAgICB2YWx1ZTogIjIiCiAgICAgICAgICAgIC0gbmFtZTogS1VCRVJORVRFU19OT0RFX05BTUUKICAgICAgICAgICAgICB2YWx1ZUZyb206CiAgICAgICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICAgICAgZmllbGRQYXRoOiBzcGVjLm5vZGVOYW1lCiAgICAgICAgICAgIC0gbmFtZTogVEVOQU5UCiAgICAgICAgICAgICAgdmFsdWU6ICJrdWJlIgogICAgICAgICAgICAtIG5hbWU6IE5PREVfRVBHCiAgICAgICAgICAgICAgdmFsdWU6ICJuZXRvcC1rdWJlfG5ldG9wLW5vZGVzIgogICAgICAgICAgICAtIG5hbWU6IE1VTFRVUwogICAgICAgICAgICAgIHZhbHVlOiAnVHJ1ZScKICAgICAgICAgICAgLSBuYW1lOiBEVVJBVElPTl9XQUlUX0ZPUl9ORVRXT1JLCiAgICAgICAgICAgICAgdmFsdWU6ICIyMTAiCiAgICAgICAgICAgIC0gbmFtZTogQ0hBSU5FRF9NT0RFCiAgICAgICAgICAgICAgdmFsdWU6ICJ0cnVlIgogICAgICAgICAgICAtIG5hbWU6IFBSSU1BUllfQ05JX1BBVEgKICAgICAgICAgICAgICB2YWx1ZTogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY25pLWJpbgogICAgICAgICAgICAgIG1vdW50UGF0aDogL21udC9jbmktYmluCiAgICAgICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWNvbmYKICAgICAgICAgICAgLSBuYW1lOiBob3N0dmFyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3ZhcgogICAgICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL3J1bgogICAgICAgICAgICAtIG5hbWU6IGhvc3QtY29uZmlnLXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNvbnRhaW5lcnMvCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG1vdW50UGF0aDogL3J1bi9uZXRucwogICAgICAgICAgICAgIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgICBtb3VudFByb3BhZ2F0aW9uOiBIb3N0VG9Db250YWluZXIKICAgICAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkwCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICByZXN0YXJ0UG9saWN5OiBBbHdheXMKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYgogICAgICAgIC0gbmFtZTogY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL211bHR1cwogICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIKICAgICAgICAtIG5hbWU6IGhvc3RydW4KICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuCiAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgIGNvbmZpZ01hcDoKICAgICAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29uZmlnCiAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgIC0ga2V5OiBob3N0LWFnZW50LWNvbmZpZwogICAgICAgICAgICAgICAgcGF0aDogaG9zdC1hZ2VudC5jb25mCiAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvcG9kcwogICAgICAgIC0gbmFtZTogdmFybG9nY29udGFpbmVycwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgIC0gbmFtZTogaG9zdC1ydW4tbmV0bnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvcnVuL25ldG5zCiAgICAgICAgLSBuYW1lOiBtdWx0dXMtY25pLWNvbmYKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL3J1bi9tdWx0dXMvCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERlcGxveW1lbnQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpzcGVjOgogIHJlcGxpY2FzOiAxCiAgc3RyYXRlZ3k6CiAgICB0eXBlOiBSZWNyZWF0ZQogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgc3BlYzoKICAgICAgaG9zdE5ldHdvcms6IHRydWUKICAgICAgc2VydmljZUFjY291bnROYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIHRvbGVyYXRpb25zOgogICAgICAgIC0gZWZmZWN0OiBOb0V4ZWN1dGUKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAgIHRvbGVyYXRpb25TZWNvbmRzOiA2MAogICAgICAgIC0gZWZmZWN0OiBOb1NjaGVkdWxlCiAgICAgICAgICBrZXk6IG5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLXJvbGUua3ViZXJuZXRlcy5pby9tYXN0ZXIKICAgICAgICAgIG9wZXJhdG9yOiBFeGlzdHMKICAgICAgcHJpb3JpdHlDbGFzc05hbWU6IGFjaWNuaS1wcmlvcml0eQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICAgICAgaW1hZ2U6IG5vaXJvL2FjaS1jb250YWluZXJzLWNvbnRyb2xsZXI6Ni4wLjMuMS44MWMyMzY5CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IFNZU1RFTV9OQU1FU1BBQ0UKICAgICAgICAgICAgICB2YWx1ZTogImFjaS1jb250YWluZXJzLXN5c3RlbSIKICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBjb250cm9sbGVyLWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiBhY2ktdXNlci1jZXJ0LXZvbHVtZQogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ldGMvYWNpLWNlcnQvCiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiAxMAogICAgICAgICAgICBodHRwR2V0OgogICAgICAgICAgICAgIHBhdGg6IC9zdGF0dXMKICAgICAgICAgICAgICBwb3J0OiA4MDkxCiAgICAgICAgICAgICAgc2NoZW1lOiBIVFRQCiAgICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDEyMAogICAgICAgICAgICBwZXJpb2RTZWNvbmRzOiA2MAogICAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiAxCiAgICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiAzMAogICAgICB2b2x1bWVzOgogICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgIHNlY3JldDoKICAgICAgICAgICAgc2VjcmV0TmFtZTogYWNpLXVzZXItY2VydAogICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogY29udHJvbGxlci1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGNvbnRyb2xsZXIuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IExpbWl0UmFuZ2UKbWV0YWRhdGE6CiAgbmFtZTogbWVtb3J5LWxpbWl0LXJhbmdlCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0Kc3BlYzoKICBsaW1pdHM6CiAgLSBkZWZhdWx0OgogICAgICBtZW1vcnk6IDNHaQogICAgZGVmYXVsdFJlcXVlc3Q6CiAgICAgIG1lbW9yeTogMTI4TWkKICAgIHR5cGU6IENvbnRhaW5lcgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIGFubm90YXRpb25zOgogICAgY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbjogdjAuMTIuMAogIG5hbWU6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMuYWNpLmZhYnJpY2F0dGFjaG1lbnQKc3BlYzoKICBncm91cDogYWNpLmZhYnJpY2F0dGFjaG1lbnQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudAogICAgbGlzdEtpbmQ6IE5vZGVGYWJyaWNOZXR3b3JrQXR0YWNobWVudExpc3QKICAgIHBsdXJhbDogbm9kZWZhYnJpY25ldHdvcmthdHRhY2htZW50cwogICAgc2hvcnROYW1lczoKICAgIC0gbmZuYQogICAgc2luZ3VsYXI6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudAogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBGYWJyaWNBdHRhY2htZW50cwogICAgICAgICAgQVBJCiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQVBJVmVyc2lvbiBkZWZpbmVzIHRoZSB2ZXJzaW9uZWQgc2NoZW1hIG9mIHRoaXMgcmVwcmVzZW50YXRpb24KICAgICAgICAgICAgICBvZiBhbiBvYmplY3QuIFNlcnZlcnMgc2hvdWxkIGNvbnZlcnQgcmVjb2duaXplZCBzY2hlbWFzIHRvIHRoZSBsYXRlc3QKICAgICAgICAgICAgICBpbnRlcm5hbCB2YWx1ZSwgYW5kIG1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy4gTW9yZSBpbmZvOiBodHRwczovL2dpdC5rOHMuaW8vY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy9kZXZlbC9zaWctYXJjaGl0ZWN0dXJlL2FwaS1jb252ZW50aW9ucy5tZCNyZXNvdXJjZXMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgZGVzY3JpcHRpb246ICdLaW5kIGlzIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgUkVTVCByZXNvdXJjZSB0aGlzCiAgICAgICAgICAgICAgb2JqZWN0IHJlcHJlc2VudHMuIFNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudAogICAgICAgICAgICAgIHN1Ym1pdHMgcmVxdWVzdHMgdG8uIENhbm5vdCBiZSB1cGRhdGVkLiBJbiBDYW1lbENhc2UuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjdHlwZXMta2luZHMnCiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVGYWJyaWNBdHRhY2htZW50U3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIG5ldHdvcmsKICAgICAgICAgICAgICBhdHRhY2htZW50IHRvIHRoZSBmYWJyaWMKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhY2lUb3BvbG9neToKICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGZhYnJpY0xpbms6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvZHM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbElmYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kUmVmOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBNYXAgb2YgaWZhY2UgdG8gZmFicmljTGluawogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgZW5jYXBWbGFuOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgbmV0d29ya1JlZjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1BFQyBGSUVMRFMgLSBkZXNpcmVkIHN0YXRlIG9mIGNsdXN0ZXIKICAgICAgICAgICAgICAgICAgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUgY29kZSBhZnRlcgogICAgICAgICAgICAgICAgICBtb2RpZnlpbmcgdGhpcyBmaWxlIEFkZCBjdXN0b20gdmFsaWRhdGlvbiB1c2luZyBrdWJlYnVpbGRlciB0YWdzOgogICAgICAgICAgICAgICAgICBodHRwczovL2Jvb2sua3ViZWJ1aWxkZXIuaW8vYmV5b25kX2Jhc2ljcy9nZW5lcmF0aW5nX2NyZC5odG1sIE5ldHdvcmtSZWYKICAgICAgICAgICAgICAgICAgaXMgdGhlIG5zL25ldC1hdHQtZGVmIG5hbWUsIHVzZWQgYXMgcGFydCBvZiB0aGUgZXBnIG5zLTxOZXR3b3JrTmFtZT4nCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgLSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIG5vZGVOYW1lOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgcHJpbWFyeUNuaToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnaW5mb3JtYXRpb25hbDogcHJpbWFyeUNOSSBzcmlvdi9tYWN2bGFuJwogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIG5ldHdvcmtSZWYKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFN0YXR1cyBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZgogICAgICAgICAgICAgIEZhYnJpY0F0dGFjaG1lbnQKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBzdGF0ZToKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSU5TRVJUIEFERElUSU9OQUwgU1RBVFVTIEZJRUxEIC0gZGVmaW5lIG9ic2VydmVkIHN0YXRlCiAgICAgICAgICAgICAgICAgIG9mIGNsdXN0ZXIgSW1wb3J0YW50OiBSdW4gIm9wZXJhdG9yLXNkayBnZW5lcmF0ZSBrOHMiIHRvIHJlZ2VuZXJhdGUKICAgICAgICAgICAgICAgICAgY29kZSBhZnRlciBtb2RpZnlpbmcgdGhpcyBmaWxlNyBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIKICAgICAgICAgICAgICAgICAgdGFnczogaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCcKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBzdGF0ZQogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQo=" + "config": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IE5hbWVzcGFjZQptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgICBvcGVuc2hpZnQuaW8vcnVuLWxldmVsOiAiMCIKICBhbm5vdGF0aW9uczoKICAgIG9wZW5zaGlmdC5pby9ub2RlLXNlbGVjdG9yOiAnJwotLS0KYXBpVmVyc2lvbjogc2NoZWR1bGluZy5rOHMuaW8vdjEKa2luZDogUHJpb3JpdHlDbGFzcwptZXRhZGF0YToKICBuYW1lOiBhY2ljbmktcHJpb3JpdHkKdmFsdWU6IDEwMDAwMDAwMDAKZ2xvYmFsRGVmYXVsdDogZmFsc2UKZGVzY3JpcHRpb246ICJUaGlzIHByaW9yaXR5IGNsYXNzIGlzIHVzZWQgZm9yIEFDSS1DTkkgcmVzb3VyY2VzIgotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IG5vZGVwb2RpZnMuYWNpLmF3CnNwZWM6CiAgZ3JvdXA6IGFjaS5hdwogIG5hbWVzOgogICAga2luZDogTm9kZVBvZElGCiAgICBsaXN0S2luZDogTm9kZVBvZElGTGlzdAogICAgcGx1cmFsOiBub2RlcG9kaWZzCiAgICBzaW5ndWxhcjogbm9kZXBvZGlmCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgcG9kaWZzOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJJRDoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVwZzoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlmbmFtZToKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGlwYWRkcjoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIG1hY2FkZHI6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RuYW1lOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgcG9kbnM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICB2dGVwOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgLSBzcGVjCiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGdsb2JhbGluZm9zLmFjaS5zbmF0CnNwZWM6CiAgZ3JvdXA6IGFjaS5zbmF0CiAgbmFtZXM6CiAgICBraW5kOiBTbmF0R2xvYmFsSW5mbwogICAgbGlzdEtpbmQ6IFNuYXRHbG9iYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0Z2xvYmFsaW5mb3MKICAgIHNpbmd1bGFyOiBzbmF0Z2xvYmFsaW5mbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm8gaXMgdGhlIFNjaGVtYSBmb3IgdGhlIHNuYXRnbG9iYWxpbmZvcyBBUEkKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZ2xvYmFsSW5mb3M6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIG1hY0FkZHJlc3M6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgcG9ydFJhbmdlczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogNjU1MzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgc25hdElwVWlkOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIHNuYXRQb2xpY3lOYW1lOgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hY0FkZHJlc3MKICAgICAgICAgICAgICAgICAgICAtIHBvcnRSYW5nZXMKICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgIC0gc25hdElwVWlkCiAgICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWN5TmFtZQogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAtIGdsb2JhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdEdsb2JhbEluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU25hdEdsb2JhbEluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogc25hdGxvY2FsaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IFNuYXRMb2NhbEluZm8KICAgIGxpc3RLaW5kOiBTbmF0TG9jYWxJbmZvTGlzdAogICAgcGx1cmFsOiBzbmF0bG9jYWxpbmZvcwogICAgc2luZ3VsYXI6IHNuYXRsb2NhbGluZm8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogU25hdExvY2FsSW5mb1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTbmF0TG9jYWxJbmZvCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgbG9jYWxJbmZvczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIHBvZE5hbWU6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2ROYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBwb2RVaWQ6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBzbmF0UG9saWNpZXM6CiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICBzbmF0SXA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIC0gZGVzdElwCiAgICAgICAgICAgICAgICAgICAgICAgIC0gbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAtIHNuYXRJcAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIHBvZE5hbWUKICAgICAgICAgICAgICAgICAgLSBwb2ROYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgLSBwb2RVaWQKICAgICAgICAgICAgICAgICAgLSBzbmF0UG9saWNpZXMKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBsb2NhbEluZm9zCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNuYXRwb2xpY2llcy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogU25hdFBvbGljeQogICAgbGlzdEtpbmQ6IFNuYXRQb2xpY3lMaXN0CiAgICBwbHVyYWw6IHNuYXRwb2xpY2llcwogICAgc2luZ3VsYXI6IHNuYXRwb2xpY3kKICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc3VicmVzb3VyY2VzOgogICAgICBzdGF0dXM6IHt9CiAgICBzY2hlbWE6CiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZWxlY3Rpb24gb2YgUG9kcycKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIHNuYXRJcDoKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzdGF0dXM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBub2RlaW5mb3MuYWNpLnNuYXQKc3BlYzoKICBncm91cDogYWNpLnNuYXQKICBuYW1lczoKICAgIGtpbmQ6IE5vZGVJbmZvCiAgICBsaXN0S2luZDogTm9kZUluZm9MaXN0CiAgICBwbHVyYWw6IG5vZGVpbmZvcwogICAgc2luZ3VsYXI6IG5vZGVpbmZvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBtYWNhZGRyZXNzOgogICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc25hdHBvbGljeW5hbWVzOgogICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHN0YXR1czoKICAgICAgICAgICAgZGVzY3JpcHRpb246IE5vZGVpbmZvU3RhdHVzIGRlZmluZXMgdGhlIG9ic2VydmVkIHN0YXRlIG9mIE5vZGVpbmZvCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHR5cGU6IG9iamVjdAotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHJkY29uZmlncy5hY2kuc25hdApzcGVjOgogIGdyb3VwOiBhY2kuc25hdAogIG5hbWVzOgogICAga2luZDogUmRDb25maWcKICAgIGxpc3RLaW5kOiBSZENvbmZpZ0xpc3QKICAgIHBsdXJhbDogcmRjb25maWdzCiAgICBzaW5ndWxhcjogcmRjb25maWcKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGRpc2NvdmVyZWRzdWJuZXRzOgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICB1c2Vyc3VibmV0czoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZWluZm9TdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgTm9kZWluZm8KICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0d29ya3BvbGljaWVzLmFjaS5uZXRwb2wKc3BlYzoKICBncm91cDogYWNpLm5ldHBvbAogIG5hbWVzOgogICAga2luZDogTmV0d29ya1BvbGljeQogICAgbGlzdEtpbmQ6IE5ldHdvcmtQb2xpY3lMaXN0CiAgICBwbHVyYWw6IG5ldHdvcmtwb2xpY2llcwogICAgc2luZ3VsYXI6IG5ldHdvcmtwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrIFBvbGljeSBkZXNjcmliZXMgdHJhZmZpYyBmbG93IGF0IElQIGFkZHJlc3Mgb3IgcG9ydCBsZXZlbAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFjdGlvbiBzcGVjaWZpZXMgdGhlIGFjdGlvbiB0byBiZSBhcHBsaWVkIG9uIHRoZSBydWxlLgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlTG9nZ2luZzoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmFibGVMb2dnaW5nIGlzIHVzZWQgdG8gaW5kaWNhdGUgaWYgYWdlbnQgc2hvdWxkIGdlbmVyYXRlIGxvZ3MgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBwb3J0czoKICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgcG9ydCBhbmQgcHJvdG9jb2wgYWxsb3dlZC9kZW5pZWQgYnkgdGhlIHJ1bGUuIElmIHRoaXMgZmllbGQgaXMgdW5zZXQgb3IgZW1wdHksIHRoaXMgcnVsZSBtYXRjaGVzIGFsbCBwb3J0cy4KICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTmV0d29ya1BvbGljeVBvcnQgZGVzY3JpYmVzIHRoZSBwb3J0IGFuZCBwcm90b2NvbCB0byBtYXRjaCBpbiBhIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kUG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFbmRQb3J0IGRlZmluZXMgdGhlIGVuZCBvZiB0aGUgcG9ydCByYW5nZSwgYmVpbmcgdGhlIGVuZCBpbmNsdWRlZCB3aXRoaW4gdGhlIHJhbmdlLiBJdCBjYW4gb25seSBiZSBzcGVjaWZpZWQgd2hlbiBhIG51bWVyaWNhbCBgcG9ydGAgaXMgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBpbnQzMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnlPZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBUaGUgcG9ydCBvbiB0aGUgZ2l2ZW4gcHJvdG9jb2wuIFRoaXMgY2FuIGJlIGVpdGhlciBhIG51bWVyaWNhbCBvciBuYW1lZCBwb3J0IG9uIGEgUG9kLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBwcm92aWRlZCwgdGhpcyBtYXRjaGVzIGFsbCBwb3J0IG5hbWVzIGFuZCBudW1iZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmc6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFRDUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwcm90b2NvbCAoVENQLCBVRFAsIG9yIFNDVFApIHdoaWNoIHRyYWZmaWMgbXVzdCBtYXRjaC4gSWYgbm90IHNwZWNpZmllZCwgdGhpcyBmaWVsZCBkZWZhdWx0cyB0byBUQ1AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHRvOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIGlzIGludGVuZGVkIGZvciB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSBvciBtaXNzaW5nLCB0aGlzIHJ1bGUgbWF0Y2hlcyBhbGwgZGVzdGluYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgaXBCbG9jazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBJUEJsb2NrIGRlc2NyaWJlcyB0aGUgSVBBZGRyZXNzZXMvSVBCbG9ja3MgdGhhdCBpcyBtYXRjaGVkIGluIHRvL2Zyb20uIElQQmxvY2sgY2Fubm90IGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBBcHBsaWVkVG8gZmllbGQuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWRyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBDSURSIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSVAgQmxvY2sgVmFsaWQgZXhhbXBsZXMgYXJlICIxOTIuMTY4LjEuMS8yNCIgb3IgIjIwMDE6ZGI5OjovNjQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogRXhjZXB0IGlzIGEgc2xpY2Ugb2YgQ0lEUnMgdGhhdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGhpbiBhbiBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIgRXhjZXB0IHZhbHVlcyB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIENJRFIgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gY2lkcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0IGFsbCBQb2RzIGZyb20gTmFtZXNwYWNlcyBtYXRjaGVkIGJ5IHRoaXMgc2VsZWN0b3IsIGFzIHdvcmtsb2FkcyBpbiBUby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggUG9kU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBQb2RTZWxlY3RvciBvciBFeHRlcm5hbEVudGl0eVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFNlbGVjdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdCBQb2RzIGZyb20gTmV0d29ya1BvbGljeSdzIE5hbWVzcGFjZSBhcyB3b3JrbG9hZHMgaW4gQXBwbGllZFRvL1RvL0Zyb20gZmllbGRzLiBJZiBzZXQgd2l0aCBOYW1lc3BhY2VTZWxlY3RvciwgUG9kcyBhcmUgbWF0Y2hlZCBmcm9tIE5hbWVzcGFjZXMgbWF0Y2hlZCBieSB0aGUgTmFtZXNwYWNlU2VsZWN0b3IuIENhbm5vdCBiZSBzZXQgd2l0aCBhbnkgb3RoZXIgc2VsZWN0b3IgZXhjZXB0IE5hbWVzcGFjZVNlbGVjdG9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgdG9GcURuOgogICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hOYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAgIC0gbWF0Y2hOYW1lcwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAtIGVuYWJsZUxvZ2dpbmcKICAgICAgICAgICAgICAgICAgLSB0b0ZxRG4KICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogU2V0IG9mIGluZ3Jlc3MgcnVsZXMgZXZhbHVhdGVkIGJhc2VkIG9uIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzZXQuCiAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQWN0aW9uIHNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIGFwcGxpZWQgb24gdGhlIHJ1bGUuCiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbmFibGVMb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuYWJsZUxvZ2dpbmcgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiBhZ2VudCBzaG91bGQgZ2VuZXJhdGUgbG9ncyB3aGVuIHJ1bGVzIGFyZSBtYXRjaGVkLiBTaG91bGQgYmUgZGVmYXVsdCB0byBmYWxzZS4KICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICAgICAgICBmcm9tOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFJ1bGUgaXMgbWF0Y2hlZCBpZiB0cmFmZmljIG9yaWdpbmF0ZXMgZnJvbSB3b3JrbG9hZHMgc2VsZWN0ZWQgYnkgdGhpcyBmaWVsZC4gSWYgdGhpcyBmaWVsZCBpcyBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHNvdXJjZXMuCiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBpcEJsb2NrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IElQQmxvY2sgZGVzY3JpYmVzIHRoZSBJUEFkZHJlc3Nlcy9JUEJsb2NrcyB0aGF0IGlzIG1hdGNoZWQgaW4gdG8vZnJvbS4gSVBCbG9jayBjYW5ub3QgYmUgc2V0IGFzIHBhcnQgb2YgdGhlIEFwcGxpZWRUbyBmaWVsZC4gQ2Fubm90IGJlIHNldCB3aXRoIGFueSBvdGhlciBzZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpZHI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IENJRFIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBJUCBCbG9jayBWYWxpZCBleGFtcGxlcyBhcmUgIjE5Mi4xNjguMS4xLzI0IiBvciAiMjAwMTpkYjk6Oi82NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBFeGNlcHQgaXMgYSBzbGljZSBvZiBDSURScyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgd2l0aGluIGFuIElQIEJsb2NrIFZhbGlkIGV4YW1wbGVzIGFyZSAiMTkyLjE2OC4xLjEvMjQiIG9yICIyMDAxOmRiOTo6LzY0IiBFeGNlcHQgdmFsdWVzIHdpbGwgYmUgcmVqZWN0ZWQgaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgQ0lEUiByYW5nZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjaWRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3QgUG9kcyBmcm9tIE5ldHdvcmtQb2xpY3kncyBOYW1lc3BhY2UgYXMgd29ya2xvYWRzIGluIEFwcGxpZWRUby9Uby9Gcm9tIGZpZWxkcy4gSWYgc2V0IHdpdGggTmFtZXNwYWNlU2VsZWN0b3IsIFBvZHMgYXJlIG1hdGNoZWQgZnJvbSBOYW1lc3BhY2VzIG1hdGNoZWQgYnkgdGhlIE5hbWVzcGFjZVNlbGVjdG9yLiBDYW5ub3QgYmUgc2V0IHdpdGggYW55IG90aGVyIHNlbGVjdG9yIGV4Y2VwdCBOYW1lc3BhY2VTZWxlY3Rvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG1hdGNoRXhwcmVzc2lvbnMgaXMgYSBsaXN0IG9mIGxhYmVsIHNlbGVjdG9yIHJlcXVpcmVtZW50cy4gVGhlIHJlcXVpcmVtZW50cyBhcmUgQU5EZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIGEgc2V0IG9mIHZhbHVlcy4gVmFsaWQgb3BlcmF0b3JzIGFyZSBJbiwgTm90SW4sIEV4aXN0cyBhbmQgRG9lc05vdEV4aXN0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlcyBpcyBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzLiBJZiB0aGUgb3BlcmF0b3IgaXMgSW4gb3IgTm90SW4sIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBub24tZW1wdHkuIElmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMgb3IgRG9lc05vdEV4aXN0LCB0aGUgdmFsdWVzIGFycmF5IG11c3QgYmUgZW1wdHkuIFRoaXMgYXJyYXkgaXMgcmVwbGFjZWQgZHVyaW5nIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBrZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb3BlcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgIHBvcnRzOgogICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFNldCBvZiBwb3J0IGFuZCBwcm90b2NvbCBhbGxvd2VkL2RlbmllZCBieSB0aGUgcnVsZS4gSWYgdGhpcyBmaWVsZCBpcyB1bnNldCBvciBlbXB0eSwgdGhpcyBydWxlIG1hdGNoZXMgYWxsIHBvcnRzLgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOZXR3b3JrUG9saWN5UG9ydCBkZXNjcmliZXMgdGhlIHBvcnQgYW5kIHByb3RvY29sIHRvIG1hdGNoIGluIGEgcnVsZS4KICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRQb3J0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEVuZFBvcnQgZGVmaW5lcyB0aGUgZW5kIG9mIHRoZSBwb3J0IHJhbmdlLCBiZWluZyB0aGUgZW5kIGluY2x1ZGVkIHdpdGhpbiB0aGUgcmFuZ2UuIEl0IGNhbiBvbmx5IGJlIHNwZWNpZmllZCB3aGVuIGEgbnVtZXJpY2FsIGBwb3J0YCBpcyBzcGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IGludDMyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueU9mOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFRoZSBwb3J0IG9uIHRoZSBnaXZlbiBwcm90b2NvbC4gVGhpcyBjYW4gYmUgZWl0aGVyIGEgbnVtZXJpY2FsIG9yIG5hbWVkIHBvcnQgb24gYSBQb2QuIElmIHRoaXMgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB0aGlzIG1hdGNoZXMgYWxsIHBvcnQgbmFtZXMgYW5kIG51bWJlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZzogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogVENQCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogVGhlIHByb3RvY29sIChUQ1AsIFVEUCwgb3IgU0NUUCkgd2hpY2ggdHJhZmZpYyBtdXN0IG1hdGNoLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGlzIGZpZWxkIGRlZmF1bHRzIHRvIFRDUC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICBwb2xpY3lUeXBlczoKICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUG9saWN5IFR5cGUgc3RyaW5nIGRlc2NyaWJlcyB0aGUgTmV0d29ya1BvbGljeSB0eXBlIFRoaXMgdHlwZSBpcyBiZXRhLWxldmVsIGluIDEuOAogICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgIHR5cGU6IGFycmF5CiAgICAgICAgICAgICAgcHJpb3JpdHk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogUHJpb3JpdHkgc3BlY2ZpZXMgdGhlIG9yZGVyIG9mIHRoZSBOZXR3b3JrUG9saWN5IHJlbGF0aXZlIHRvIG90aGVyIE5ldHdvcmtQb2xpY2llcy4KICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICB0eXBlOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHR5cGUgb2YgdGhlIHBvbGljeS4KICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSB0eXBlCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHJlcXVpcmVkOgogICAgICAgIC0gc3BlYwogICAgICAgIHR5cGU6IG9iamVjdAogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCnN0YXR1czoKICBhY2NlcHRlZE5hbWVzOgogICAga2luZDogIiIKICAgIHBsdXJhbDogIiIKICBjb25kaXRpb25zOiBbXQogIHN0b3JlZFZlcnNpb25zOiBbXQotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGRuc25ldHdvcmtwb2xpY2llcy5hY2kuZG5zbmV0cG9sCnNwZWM6CiAgZ3JvdXA6IGFjaS5kbnNuZXRwb2wKICBuYW1lczoKICAgIGtpbmQ6IERuc05ldHdvcmtQb2xpY3kKICAgIGxpc3RLaW5kOiBEbnNOZXR3b3JrUG9saWN5TGlzdAogICAgcGx1cmFsOiBkbnNuZXR3b3JrcG9saWNpZXMKICAgIHNpbmd1bGFyOiBkbnNuZXR3b3JrcG9saWN5CiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYmV0YQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgZGVzY3JpcHRpb246IGRucyBuZXR3b3JrIFBvbGljeQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBhcHBsaWVkVG86CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBuYW1lc3BhY2VTZWxlY3RvcjoKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgcG9kU2VsZWN0b3I6CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFsbG93IGluZ3Jlc3MgZnJvbSB0aGUgc2FtZSBuYW1lc3BhY2UKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hFeHByZXNzaW9uczoKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gYSBzZXQgb2YgdmFsdWVzLiBWYWxpZCBvcGVyYXRvcnMgYXJlIEluLCBOb3RJbiwgRXhpc3RzIGFuZCBEb2VzTm90RXhpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzIGlzIGFuIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMuIElmIHRoZSBvcGVyYXRvciBpcyBJbiBvciBOb3RJbiwgdGhlIHZhbHVlcyBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eS4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cyBvciBEb2VzTm90RXhpc3QsIHRoZSB2YWx1ZXMgYXJyYXkgbXVzdCBiZSBlbXB0eS4gVGhpcyBhcnJheSBpcyByZXBsYWNlZCBkdXJpbmcgYSBzdHJhdGVnaWMgbWVyZ2UgcGF0Y2guCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgIC0ga2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBvcGVyYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVncmVzczoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZXQgb2YgZWdyZXNzIHJ1bGVzIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgc2V0LgogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgdG9GcWRuOgogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICBtYXRjaE5hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgICAgICAtIG1hdGNoTmFtZXMKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgLSB0b0ZxZG4KICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICByZXF1aXJlZDoKICAgICAgICAtIHNwZWMKICAgICAgICB0eXBlOiBvYmplY3QKICAgIHNlcnZlZDogdHJ1ZQogICAgc3RvcmFnZTogdHJ1ZQpzdGF0dXM6CiAgYWNjZXB0ZWROYW1lczoKICAgIGtpbmQ6ICIiCiAgICBwbHVyYWw6ICIiCiAgY29uZGl0aW9uczogW10KICBzdG9yZWRWZXJzaW9uczogW10KLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBxb3Nwb2xpY2llcy5hY2kucW9zCnNwZWM6CiAgZ3JvdXA6IGFjaS5xb3MKICBuYW1lczoKICAgIGtpbmQ6IFFvc1BvbGljeQogICAgbGlzdEtpbmQ6IFFvc1BvbGljeUxpc3QKICAgIHBsdXJhbDogcW9zcG9saWNpZXMKICAgIHNpbmd1bGFyOiBxb3Nwb2xpY3kKICBzY29wZTogTmFtZXNwYWNlZAogIHByZXNlcnZlVW5rbm93bkZpZWxkczogZmFsc2UKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHN1YnJlc291cmNlczoKICAgICAgc3RhdHVzOiB7fQogICAgc2NoZW1hOgogICAgICBvcGVuQVBJVjNTY2hlbWE6CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgIGFwaVZlcnNpb246CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAga2luZDoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICBwb2RTZWxlY3RvcjoKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOgogICAgICAgICAgICAgIGluZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBlZ3Jlc3M6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIHBvbGljaW5nX3JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgcG9saWNpbmdfYnVyc3Q6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICBkc2NwbWFyazoKICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IDAKICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgIG1heGltdW06IDYzCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogbmV0Zmxvd3BvbGljaWVzLmFjaS5uZXRmbG93CnNwZWM6CiAgZ3JvdXA6IGFjaS5uZXRmbG93CiAgbmFtZXM6CiAgICBraW5kOiBOZXRmbG93UG9saWN5CiAgICBsaXN0S2luZDogTmV0Zmxvd1BvbGljeUxpc3QKICAgIHBsdXJhbDogbmV0Zmxvd3BvbGljaWVzCiAgICBzaW5ndWxhcjogbmV0Zmxvd3BvbGljeQogIHNjb3BlOiBDbHVzdGVyCiAgcHJlc2VydmVVbmtub3duRmllbGRzOiBmYWxzZQogIHZlcnNpb25zOgogIC0gbmFtZTogdjFhbHBoYQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIGZsb3dTYW1wbGluZ1BvbGljeToKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElwOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0UG9ydDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDY1NTM1CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMjA1NQogICAgICAgICAgICAgICAgICBmbG93VHlwZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICBlbnVtOgogICAgICAgICAgICAgICAgICAgICAgLSBuZXRmbG93CiAgICAgICAgICAgICAgICAgICAgICAtIGlwZml4CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbmV0ZmxvdwogICAgICAgICAgICAgICAgICBhY3RpdmVGbG93VGltZU91dDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBpbnRlZ2VyCiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogMAogICAgICAgICAgICAgICAgICAgIG1heGltdW06IDM2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiA2MAogICAgICAgICAgICAgICAgICBpZGxlRmxvd1RpbWVPdXQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiA2MDAKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxNQogICAgICAgICAgICAgICAgICBzYW1wbGluZ1JhdGU6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDAKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDAwCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogMAogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIGRlc3RJcAogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0Ci0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZXJzcGFucG9saWNpZXMuYWNpLmVyc3BhbgpzcGVjOgogIGdyb3VwOiBhY2kuZXJzcGFuCiAgbmFtZXM6CiAgICBraW5kOiBFcnNwYW5Qb2xpY3kKICAgIGxpc3RLaW5kOiBFcnNwYW5Qb2xpY3lMaXN0CiAgICBwbHVyYWw6IGVyc3BhbnBvbGljaWVzCiAgICBzaW5ndWxhcjogZXJzcGFucG9saWN5CiAgc2NvcGU6IENsdXN0ZXIKICBwcmVzZXJ2ZVVua25vd25GaWVsZHM6IGZhbHNlCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VsZWN0aW9uIG9mIFBvZHMnCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBsYWJlbHM6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgc291cmNlOgogICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICBhZG1pblN0YXRlOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBZG1pbmlzdHJhdGl2ZSBzdGF0ZS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBzdGFydAogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgIGVudW06CiAgICAgICAgICAgICAgICAgICAgICAtIHN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAtIHN0b3AKICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEaXJlY3Rpb24gb2YgdGhlIHBhY2tldHMgdG8gbW9uaXRvci4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBib3RoCiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgZW51bToKICAgICAgICAgICAgICAgICAgICAgIC0gaW4KICAgICAgICAgICAgICAgICAgICAgIC0gb3V0CiAgICAgICAgICAgICAgICAgICAgICAtIGJvdGgKICAgICAgICAgICAgICBkZXN0aW5hdGlvbjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgZGVzdElQOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZXN0aW5hdGlvbiBJUCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgZmxvd0lEOgogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBVbmlxdWUgZmxvdyBJRCBvZiB0aGUgRVJTUEFOIHBhY2tldC4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAxCiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICAgIG1pbmltdW06IDEKICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAxMDIzCiAgICAgICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgICAgIC0gZGVzdElQCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbmFibGVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogRW5hYmxlRHJvcExvZwogICAgbGlzdEtpbmQ6IEVuYWJsZURyb3BMb2dMaXN0CiAgICBwbHVyYWw6IGVuYWJsZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogZW5hYmxlZHJvcGxvZwogIHNjb3BlOiBDbHVzdGVyCiAgdmVyc2lvbnM6CiAgLSBuYW1lOiB2MWFscGhhMQogICAgc2VydmVkOiB0cnVlCiAgICBzdG9yYWdlOiB0cnVlCiAgICBzY2hlbWE6CiAgICMgb3BlbkFQSVYzU2NoZW1hIGlzIHRoZSBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgY3VzdG9tIG9iamVjdHMuCiAgICAgIG9wZW5BUElWM1NjaGVtYToKICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgYXBpVmVyc2lvbjoKICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICBraW5kOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEVuYWJsZURyb3BMb2cKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgZGlzYWJsZURlZmF1bHREcm9wTG9nOgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERpc2FibGVzIHRoZSBkZWZhdWx0IGRyb3Bsb2cgZW5hYmxlZCBieSBhY2MtcHJvdmlzaW9uLgogICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UKICAgICAgICAgICAgICAgIHR5cGU6IGJvb2xlYW4KICAgICAgICAgICAgICBub2RlU2VsZWN0b3I6CiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBEcm9wIGxvZ2dpbmcgaXMgZW5hYmxlZCBvbiBub2RlcyBzZWxlY3RlZCBiYXNlZCBvbiBsYWJlbHMKICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgIGxhYmVsczoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcHJ1bmVkcm9wbG9ncy5hY2kuZHJvcGxvZwpzcGVjOgogIGdyb3VwOiBhY2kuZHJvcGxvZwogIG5hbWVzOgogICAga2luZDogUHJ1bmVEcm9wTG9nCiAgICBsaXN0S2luZDogUHJ1bmVEcm9wTG9nTGlzdAogICAgcGx1cmFsOiBwcnVuZWRyb3Bsb2dzCiAgICBzaW5ndWxhcjogcHJ1bmVkcm9wbG9nCiAgc2NvcGU6IENsdXN0ZXIKICB2ZXJzaW9uczoKICAtIG5hbWU6IHYxYWxwaGExCiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUKICAgIHNjaGVtYToKICAgIyBvcGVuQVBJVjNTY2hlbWEgaXMgdGhlIHNjaGVtYSBmb3IgdmFsaWRhdGluZyBjdXN0b20gb2JqZWN0cy4KICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgZGVzY3JpcHRpb246IERlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUHJ1bmVEcm9wTG9nCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIG5vZGVTZWxlY3RvcjoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IERyb3AgbG9nZ2luZyBmaWx0ZXJzIGFyZSBhcHBsaWVkIHRvIG5vZGVzIHNlbGVjdGVkIGJhc2VkIG9uIGxhYmVscwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbGFiZWxzOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICBkcm9wTG9nRmlsdGVyczoKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgc3JjSVA6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgIGRlc3RJUDoKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgc3JjTUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBkZXN0TUFDOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICBzcmNQb3J0OgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKICAgICAgICAgICAgICAgICAgZGVzdFBvcnQ6CiAgICAgICAgICAgICAgICAgICAgdHlwZTogaW50ZWdlcgogICAgICAgICAgICAgICAgICBpcFByb3RvOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IGludGVnZXIKLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKZGF0YToKICBjb250cm9sbGVyLWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImxvZy1sZXZlbCI6ICJpbmZvIiwKICAgICAgICAiYXBpYy1ob3N0cyI6IFsKICAgICAgICAgICAgIjEwLjMwLjEyMC4xMDAiCiAgICAgICAgXSwKICAgICAgICAiYWNpLWFkZGl0aW9uYWwtYWVwIjogImt1YmUtYWVwLTIiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJhY2ktcGh5cy1kb20iOiAia3ViZS1waHlzZG9tIiwKICAgICAgICAiYXBpYy11c2VybmFtZSI6ICJrdWJlIiwKICAgICAgICAiYXBpYy1wcml2YXRlLWtleS1wYXRoIjogIi91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0L3VzZXIua2V5IiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS10eXBlIjogIkt1YmVybmV0ZXMiLAogICAgICAgICJhY2ktdm1tLWRvbWFpbiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZtbS1jb250cm9sbGVyIjogImt1YmUiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiYWNpLXBvbGljeS10ZW5hbnQiOiAia3ViZSIsCiAgICAgICAgImFjaS1ub2RlYmQtZG4iOiAidW5pL3RuLWt1YmUvQkQtbmV0b3Atbm9kZXMiLAogICAgICAgICJhY2ktc2VydmljZS1waHlzLWRvbSI6ICJrdWJlLXBoeXNkb20iLAogICAgICAgICJhY2ktc2VydmljZS1lbmNhcCI6ICJ2bGFuLU5vbmUiLAogICAgICAgICJhY2ktcGJyLXRyYWNraW5nLW5vbi1zbmF0IjogZmFsc2UsCiAgICAgICAgImFjaS12cmYtdGVuYW50IjogImNvbW1vbiIsCiAgICAgICAgImFjaS12cmYtZG4iOiAidW5pL3RuLWNvbW1vbi9jdHgta3ViZSIsCiAgICAgICAgImFjaS12cmYiOiAia3ViZSIsCiAgICAgICAgImFjaS1sM291dCI6ICJsM291dCIsCiAgICAgICAgImFjaS1leHQtbmV0d29ya3MiOiBbCiAgICAgICAgICAgICJkZWZhdWx0IgogICAgICAgIF0KICAgIH0KICBob3N0LWFnZW50LWNvbmZpZzogfC0KICAgIHsKICAgICAgICAiZmxhdm9yIjogIm9wZW5zaGlmdC1zZG4tb3ZuLWJhcmVtZXRhbCIsCiAgICAgICAgImFwcC1wcm9maWxlIjogIm5ldG9wLWt1YmUiLAogICAgICAgICJjaGFpbmVkLW1vZGUiOiB0cnVlLAogICAgICAgICJwcmltYXJ5LWNuaS1wYXRoIjogIi9tbnQvY25pLWNvbmYvY25pL25ldC5kLzEwLW92bi1rdWJlcm5ldGVzLmNvbmYiLAogICAgICAgICJsb2ctbGV2ZWwiOiAiaW5mbyIsCiAgICAgICAgImFjaS12bW0tdHlwZSI6ICJLdWJlcm5ldGVzIiwKICAgICAgICAiYWNpLXZtbS1kb21haW4iOiAia3ViZSIsCiAgICAgICAgImFjaS12bW0tY29udHJvbGxlciI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZiI6ICJrdWJlIiwKICAgICAgICAiYWNpLXZyZi10ZW5hbnQiOiAiY29tbW9uIiwKICAgICAgICAiYWNpLXByZWZpeCI6ICJrdWJlIiwKICAgICAgICAia3ViZWFwaS12bGFuIjogNDAwMSwKICAgICAgICAibm9kZS1zdWJuZXQiOiAiMTAuMS4wLjEvMTYiLAogICAgICAgICJhY2ktYWRkaXRpb25hbC12bGFucyI6ICJbNDAwMiwgNDAwMywgNDAwOSwgNDAwNC00MDA3XSIsCiAgICAgICAgImFjaS11c2UtZ2xvYmFsLXNjb3BlLXZsYW4iOiBmYWxzZSwKICAgICAgICAiZW5hYmxlLWRyb3AtbG9nIjogdHJ1ZSwKICAgICAgICAiZW5hYmxlLW5vZGVwb2RpZiI6IGZhbHNlCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogYWNpLXVzZXItY2VydAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCiAgbGFiZWxzOgogICAgYWNpLWNvbnRhaW5lcnMtY29uZmlnLXZlcnNpb246ICJkdW1teSIKZGF0YToKICB1c2VyLmtleTogTFMwdExTMUNSVWRKVGlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSlNVTmtaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFWTkRRVzFCZDJkblNtTkJaMFZCUVc5SFFrRk9jaXRCSzJkUFMySkJWbFp5U25NS1lqTXJXbGRpWTI1V1dHOHZaMlIxZUVsVWEzWnRNRGxyWldsR1EyNHJWWEF2VTBka2NYWTJRV2dyYW14S1prWTNkWFlyUm1kRFNuUkRlRVE0TjNGWmR3b3djVFZFWTBkV1RFbGpaa1kwV2xWaU9VSTRja3BYUzBKSk5uZEtabmgwVFdaR2RWVk9XVEkwWTJkM1VYQktjWEpOVlhGQlJIb3ZUVmNyZDNKYVpXaHpDbE51Um5ONVpYZFlVak00T0dWU04wVkxha1JYWldka1NubFFZMWhCWjAxQ1FVRkZRMmRaUWpsQldHSXhXbVpDUTBKVmVFSXJWV2RGVkVkTk55czBXRGtLYWtoaWVVVXdRbXg0Ykd0bWFuSnNkMlIyYlZNNVRUYzNLekphTm1STFFXZFFNek5VVWswdlVIZEZUVTlaTjFKdVpFSnZLMWcyZUVSelZtUmpWRXBKZVFvMVZuYzRlRlZhYkhJcllYVkZUMnh6TWxwdVduZ3hNV1UxZW1nM2MxVXpUbW8xU3pNMVFsZFNPVWRVV0VvMlVFMWtjRlEwT1d4Q09XSnNiRTFxUkhKTUNqY3JOV0pEYzJSMU5qTlBPRXRoVGpsWlVVcENRVkJIVFdKd1NIQkdjM1JETVdOWFIzQlNVWGd6YVhkR0sxcE1XVUZ5UVZWaVEwdGlWMUZtWW1sYVZIQUtRMU00UkdkUGJYbFZOM1ZMVkZKTGFVTXJNbEpaVkZNemNISk1WalUzUjNabVprWjRTbXBVZDBkNWEwTlJVVVJ2UjBKM1pqVnBUM041ZFUxUlRubzNTd3BTYVhKaVJEQktOMUkyV1dWUmEwcGFLM0JEWlV0M2VTdE9lVWx4ZUdnd1RFSkViVUo1YlZOTGRsZ3dWMFZMUTJsMFQyZHdhVE15UmxkQ2IzRklhbVl6Q2sxUlp5OUJhMEpNUWt4U2NXVktkblJ6VDI4emJVdFBOR0VyZURKbE4zbFNWVXRyTVVOdlMzcEdUa0pJTUc1VlpWaEhibEIzYVZST1lpdGlNV1ptVTBZS04zWkpTbUpJWkcxTFozVktlVEJzVlU1Qk4waGFOemRZTDJsS1VrRnJRV3B1WW1WTVMxcDZiRFJyYVZBM00zQnBVR1o0VEcwek4yWlFha29yZVVSdk5BcGFjSGRWZFZwU0swTkRXR3hJU0haUFpXWndPVTFXY2xkak5XVnFZME12UjJGRE5rMVhXWGxOYW5WWFRTdDRRWEJxWTNWMlFXdEZRWHBaSzNBeE5EQkRDbmgzY0hJNU5XeHBibTUyVjJORE4wNDNNRGhCU2tacGJUTXZSbFV4TUVkRWJ6YzNlVWxQU1RWb0t6VXpOMHBpV1dSdE5UVTFhRTlsU0M5TGFsTmxhMmdLUlVZMFRXMTRVbEJ0YVhRNU9YYzlQUW90TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRDZz09CiAgdXNlci5jcnQ6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVUkyUkVORFFWWkZRMEZuVUc5TlFUQkhRMU54UjFOSllqTkVVVVZDUWxGVlFVMUVkM2hEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpaZDBaQldVUUtWbEZSUzBSQk1VUmhXRTVxWW5sQ1ZHVllUakJhVnpGNlRWSlZkMFYzV1VSV1VWRkVSRUY0Vm1NeVZubEpSekZvWW0xU2JGcFlRWGRJYUdOT1RWUmpkd3BPVkVVeVRXcEZlVTlVVFhkWGFHTk9UV3BqZDA1VVJUQk5ha1Y1VDFSTmQxZHFRVGhOVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGVjAxQ1VVZEJNVlZGQ2tObmQwNVJNbXg2V1RJNFoxVXpiSHBrUjFaMFkzcEZWazFDVFVkQk1WVkZRWGQzVFZaWVRteGphVUowV1ZjMWExcFhWbmROU1VkbVRVRXdSME5UY1VjS1UwbGlNMFJSUlVKQlVWVkJRVFJIVGtGRVEwSnBVVXRDWjFGRVlTOW5VRzlFYVcxM1JsWmhlV0pIT1M5dFZtMHpTakZXTmxBMFNHSnpVMFUxVERWMFVBcGFTRzlvVVhBdmJFdG1NR2h1WVhJclowbG1ielZUV0hobE4zSXZhRmxCYVdKUmMxRXZUelp0VFU1TGRWRXpRbXhUZVVoSWVHVkhWa2N2VVdaTGVWWnBDbWRUVDNORFdEaGlWRWg0WW14RVYwNTFTRWxOUlV0VFlYRjZSa3RuUVRndmVrWjJjMHN5V0c5aVJYQjRZazF1YzBZd1pDOVFTR3RsZUVOdmR6RnViMGdLVTJOcU0wWjNTVVJCVVVGQ1RVRXdSME5UY1VkVFNXSXpSRkZGUWtKUlZVRkJORWRDUVVoWUsydE1WR1UyVEVOQlFtVjNiVU5VZGsxemFuVnpTR1J3V2dwcmFUQXhLMjVSTjB0b2JrVlNZa0p0TDNSYU5YTmpXa1UwWTNSSmNXTm9NMjU1TVVWSlZFaE9kRmxYUzBKT05FTmtWVXRqYW5aRVZ6Sm9NblpyU0dWbkNuSjBXV0pXSzBGaFJYTnhNRzAwZGtkR09VVnRkblF4WTNBNVdUUXhTWGxOUWxwWmNYYzRZeTlXTVVGMGJWSlJZMUpVV1ZGQk9FZ3pUMFpFWTJoNVFqSUtNRXBJVTBSdVFtOVROMlptVTJKQ2VBb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0KLS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IFNlcnZpY2VBY2NvdW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlQWNjb3VudAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZQptZXRhZGF0YToKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgpydWxlczoKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIG5vZGVzCiAgLSBuYW1lc3BhY2VzCiAgLSBwb2RzCiAgLSBlbmRwb2ludHMKICAtIHNlcnZpY2VzCiAgLSBldmVudHMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICAtIHNlcnZpY2VhY2NvdW50cwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gcGF0Y2gKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYXBpZXh0ZW5zaW9ucy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gY2x1c3RlcnJvbGVzCiAgLSBjbHVzdGVycm9sZWJpbmRpbmdzCiAgdmVyYnM6CiAgLSAnKicKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgLSBkYWVtb25zZXRzCiAgLSBzdGF0ZWZ1bHNldHMKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIHNlcnZpY2VzL3N0YXR1cwogIHZlcmJzOgogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gIm1vbml0b3JpbmcuY29yZW9zLmNvbSIKICByZXNvdXJjZXM6CiAgLSBzZXJ2aWNlbW9uaXRvcnMKICB2ZXJiczoKICAtIGdldAogIC0gY3JlYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcy9maW5hbGl6ZXJzCiAgLSBzbmF0cG9saWNpZXMvc3RhdHVzCiAgLSBub2RlaW5mb3MKICB2ZXJiczoKICAtIHVwZGF0ZQogIC0gY3JlYXRlCiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBkZWxldGUKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gc25hdGdsb2JhbGluZm9zCiAgLSBzbmF0cG9saWNpZXMKICAtIG5vZGVpbmZvcwogIC0gcmRjb25maWdzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0CiAgLSBjcmVhdGUKICAtIHVwZGF0ZQogIC0gZGVsZXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5xb3MiCiAgcmVzb3VyY2VzOgogIC0gcW9zcG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGNyZWF0ZQogIC0gdXBkYXRlCiAgLSBkZWxldGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRmbG93IgogIHJlc291cmNlczoKICAtIG5ldGZsb3dwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gdXBkYXRlCi0gYXBpR3JvdXBzOgogIC0gImFjaS5lcnNwYW4iCiAgcmVzb3VyY2VzOgogIC0gZXJzcGFucG9saWNpZXMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuYXciCiAgcmVzb3VyY2VzOgogIC0gbm9kZXBvZGlmcwogIHZlcmJzOgogIC0gJyonCi0gYXBpR3JvdXBzOgogIC0gYXBwcy5vcGVuc2hpZnQuaW8KICByZXNvdXJjZXM6CiAgLSBkZXBsb3ltZW50Y29uZmlncwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAotIGFwaUdyb3VwczoKICAtIGRpc2NvdmVyeS5rOHMuaW8KICByZXNvdXJjZXM6CiAgLSBlbmRwb2ludHNsaWNlcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAotIGFwaUdyb3VwczoKICAtICJhY2kubmV0cG9sIgogIHJlc291cmNlczoKICAtIG5ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZG5zbmV0cG9sIgogIHJlc291cmNlczoKICAtIGRuc25ldHdvcmtwb2xpY2llcwogIHZlcmJzOgogIC0gZ2V0CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0tLQphcGlWZXJzaW9uOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxCmtpbmQ6IENsdXN0ZXJSb2xlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnJ1bGVzOgotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gbm9kZXMKICAtIG5hbWVzcGFjZXMKICAtIHBvZHMKICAtIGVuZHBvaW50cwogIC0gc2VydmljZXMKICAtIHJlcGxpY2F0aW9uY29udHJvbGxlcnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotIGFwaUdyb3VwczoKICAtICIiCiAgcmVzb3VyY2VzOgogIC0gZXZlbnRzCiAgdmVyYnM6CiAgLSBjcmVhdGUKICAtIHBhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFwaWV4dGVuc2lvbnMuazhzLmlvIgogIHJlc291cmNlczoKICAtIGN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAibmV0d29ya2luZy5rOHMuaW8iCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFwcHMiCiAgcmVzb3VyY2VzOgogIC0gZGVwbG95bWVudHMKICAtIHJlcGxpY2FzZXRzCiAgdmVyYnM6CiAgLSBsaXN0CiAgLSB3YXRjaAogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gImFjaS5zbmF0IgogIHJlc291cmNlczoKICAtIHNuYXRwb2xpY2llcwogIC0gc25hdGdsb2JhbGluZm9zCiAgLSByZGNvbmZpZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnFvcyIKICByZXNvdXJjZXM6CiAgLSBxb3Nwb2xpY2llcwogIHZlcmJzOgogIC0gbGlzdAogIC0gd2F0Y2gKICAtIGdldAogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGRlbGV0ZQogIC0gcGF0Y2gKLSBhcGlHcm91cHM6CiAgLSAiYWNpLmRyb3Bsb2ciCiAgcmVzb3VyY2VzOgogIC0gZW5hYmxlZHJvcGxvZ3MKICAtIHBydW5lZHJvcGxvZ3MKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKLSBhcGlHcm91cHM6CiAgLSAiYWNpLnNuYXQiCiAgcmVzb3VyY2VzOgogIC0gbm9kZWluZm9zCiAgLSBzbmF0bG9jYWxpbmZvcwogIHZlcmJzOgogIC0gY3JlYXRlCiAgLSB1cGRhdGUKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIGRlbGV0ZQotIGFwaUdyb3VwczoKICAtICJjb25maWcub3BlbnNoaWZ0LmlvIgogIHJlc291cmNlczoKICAtIGluZnJhc3RydWN0dXJlcwogIHZlcmJzOgogIC0gZ2V0Ci0gYXBpR3JvdXBzOgogIC0gZGlzY292ZXJ5Lms4cy5pbwogIHJlc291cmNlczoKICAtIGVuZHBvaW50c2xpY2VzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5uZXRwb2wiCiAgcmVzb3VyY2VzOgogIC0gbmV0d29ya3BvbGljaWVzCiAgdmVyYnM6CiAgLSBnZXQKICAtIGxpc3QKICAtIHdhdGNoCi0gYXBpR3JvdXBzOgogIC0gImFjaS5hdyIKICByZXNvdXJjZXM6CiAgLSBub2RlcG9kaWZzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6IFsiazhzLmNuaS5jbmNmLmlvIl0KICByZXNvdXJjZXM6CiAgLSAnKicKICB2ZXJiczoKICAtICcqJwotIGFwaUdyb3VwczoKICAtICJhY2kuZmFicmljYXR0YWNobWVudCIKICByZXNvdXJjZXM6CiAgLSBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzCiAgdmVyYnM6CiAgLSAiKiIKLSBhcGlHcm91cHM6CiAgLSAiIgogIHJlc291cmNlczoKICAtIGNvbmZpZ21hcHMKICB2ZXJiczoKICAtIGxpc3QKICAtIHdhdGNoCiAgLSBnZXQKICAtIHVwZGF0ZQotLS0KYXBpVmVyc2lvbjogcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MQpraW5kOiBDbHVzdGVyUm9sZUJpbmRpbmcKbWV0YWRhdGE6CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCnJvbGVSZWY6CiAgYXBpR3JvdXA6IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8KICBraW5kOiBDbHVzdGVyUm9sZQogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3ViamVjdHM6Ci0ga2luZDogU2VydmljZUFjY291bnQKICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KLS0tCmFwaVZlcnNpb246IHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjEKa2luZDogQ2x1c3RlclJvbGVCaW5kaW5nCm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15Igpyb2xlUmVmOgogIGFwaUdyb3VwOiByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvCiAga2luZDogQ2x1c3RlclJvbGUKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0LWFnZW50CnN1YmplY3RzOgotIGtpbmQ6IFNlcnZpY2VBY2NvdW50CiAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdC1hZ2VudAogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6IERhZW1vblNldAptZXRhZGF0YToKICBuYW1lOiBhY2ktY29udGFpbmVycy1ob3N0CiAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICBsYWJlbHM6CiAgICBhY2ktY29udGFpbmVycy1jb25maWctdmVyc2lvbjogImR1bW15IgogICAgbmV0d29yay1wbHVnaW46IGFjaS1jb250YWluZXJzCnNwZWM6CiAgdXBkYXRlU3RyYXRlZ3k6CiAgICB0eXBlOiBSb2xsaW5nVXBkYXRlCiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogYWNpLWNvbnRhaW5lcnMtaG9zdAogICAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogICAgICBhbm5vdGF0aW9uczoKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIGhvc3RQSUQ6IHRydWUKICAgICAgaG9zdElQQzogdHJ1ZQogICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QtYWdlbnQKICAgICAgdG9sZXJhdGlvbnM6CiAgICAgICAgLSBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWhvc3QKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1ob3N0OjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAgICAgLSBTWVNfQURNSU4KICAgICAgICAgICAgICAgIC0gTkVUX0FETUlOCiAgICAgICAgICAgICAgICAtIFNZU19QVFJBQ0UKICAgICAgICAgICAgICAgIC0gTkVUX1JBVwogICAgICAgICAgZW52OgogICAgICAgICAgICAtIG5hbWU6IEdPVFJBQ0VCQUNLCiAgICAgICAgICAgICAgdmFsdWU6ICIyIgogICAgICAgICAgICAtIG5hbWU6IEtVQkVSTkVURVNfTk9ERV9OQU1FCiAgICAgICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgICAgIGZpZWxkUGF0aDogc3BlYy5ub2RlTmFtZQogICAgICAgICAgICAtIG5hbWU6IFRFTkFOVAogICAgICAgICAgICAgIHZhbHVlOiAia3ViZSIKICAgICAgICAgICAgLSBuYW1lOiBOT0RFX0VQRwogICAgICAgICAgICAgIHZhbHVlOiAibmV0b3Ata3ViZXxuZXRvcC1ub2RlcyIKICAgICAgICAgICAgLSBuYW1lOiBNVUxUVVMKICAgICAgICAgICAgICB2YWx1ZTogJ1RydWUnCiAgICAgICAgICAgIC0gbmFtZTogRFVSQVRJT05fV0FJVF9GT1JfTkVUV09SSwogICAgICAgICAgICAgIHZhbHVlOiAiMjEwIgogICAgICAgICAgICAtIG5hbWU6IENIQUlORURfTU9ERQogICAgICAgICAgICAgIHZhbHVlOiAidHJ1ZSIKICAgICAgICAgICAgLSBuYW1lOiBQUklNQVJZX0NOSV9QQVRICiAgICAgICAgICAgICAgdmFsdWU6ICIvbW50L2NuaS1jb25mL2NuaS9uZXQuZC8xMC1vdm4ta3ViZXJuZXRlcy5jb25mIgogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGNuaS1iaW4KICAgICAgICAgICAgICBtb3VudFBhdGg6IC9tbnQvY25pLWJpbgogICAgICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L2NuaS1jb25mCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHZhcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC92YXIKICAgICAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvcnVuCiAgICAgICAgICAgIC0gbmFtZTogaG9zdHJ1bgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Vzci9sb2NhbC9ydW4KICAgICAgICAgICAgLSBuYW1lOiBob3N0LWNvbmZpZy12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jb250YWluZXJzLwogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbG9nL2NvbnRhaW5lcnMKICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgICAgICAtIG5hbWU6IHZhcmxpYmRvY2tlcgogICAgICAgICAgICAgIG1vdW50UGF0aDogL3Zhci9saWIvZG9ja2VyCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vbmV0bnMKICAgICAgICAgICAgICBuYW1lOiBob3N0LXJ1bi1uZXRucwogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgICAgbW91bnRQcm9wYWdhdGlvbjogSG9zdFRvQ29udGFpbmVyCiAgICAgICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvbW50L211bHR1cy1jbmktY29uZgogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MAogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgcmVzdGFydFBvbGljeTogQWx3YXlzCiAgICAgIHZvbHVtZXM6CiAgICAgICAgLSBuYW1lOiBjbmktYmluCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIKICAgICAgICAtIG5hbWU6IGNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9tdWx0dXMKICAgICAgICAtIG5hbWU6IGhvc3R2YXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyCiAgICAgICAgLSBuYW1lOiBob3N0cnVuCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bgogICAgICAgIC0gbmFtZTogaG9zdC1jb25maWctdm9sdW1lCiAgICAgICAgICBjb25maWdNYXA6CiAgICAgICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbmZpZwogICAgICAgICAgICBpdGVtczoKICAgICAgICAgICAgICAtIGtleTogaG9zdC1hZ2VudC1jb25maWcKICAgICAgICAgICAgICAgIHBhdGg6IGhvc3QtYWdlbnQuY29uZgogICAgICAgIC0gbmFtZTogdmFybG9ncG9kcwogICAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICAgIHBhdGg6IC92YXIvbG9nL3BvZHMKICAgICAgICAtIG5hbWU6IHZhcmxvZ2NvbnRhaW5lcnMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xpYi9kb2NrZXIKICAgICAgICAtIG5hbWU6IGhvc3QtcnVuLW5ldG5zCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3J1bi9uZXRucwogICAgICAgIC0gbmFtZTogbXVsdHVzLWNuaS1jb25mCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9ydW4vbXVsdHVzLwotLS0KYXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEZXBsb3ltZW50Cm1ldGFkYXRhOgogIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICBuYW1lc3BhY2U6IGFjaS1jb250YWluZXJzLXN5c3RlbQogIGxhYmVsczoKICAgIGFjaS1jb250YWluZXJzLWNvbmZpZy12ZXJzaW9uOiAiZHVtbXkiCiAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKc3BlYzoKICByZXBsaWNhczogMQogIHN0cmF0ZWd5OgogICAgdHlwZTogUmVjcmVhdGUKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb250cm9sbGVyCiAgICAgIG5ldHdvcmstcGx1Z2luOiBhY2ktY29udGFpbmVycwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgbmFtZXNwYWNlOiBhY2ktY29udGFpbmVycy1zeXN0ZW0KICAgICAgbGFiZWxzOgogICAgICAgIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICBuZXR3b3JrLXBsdWdpbjogYWNpLWNvbnRhaW5lcnMKICAgIHNwZWM6CiAgICAgIGhvc3ROZXR3b3JrOiB0cnVlCiAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYWNpLWNvbnRhaW5lcnMtY29udHJvbGxlcgogICAgICB0b2xlcmF0aW9uczoKICAgICAgICAtIGVmZmVjdDogTm9FeGVjdXRlCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgICB0b2xlcmF0aW9uU2Vjb25kczogNjAKICAgICAgICAtIGVmZmVjdDogTm9TY2hlZHVsZQogICAgICAgICAga2V5OiBub2RlLmt1YmVybmV0ZXMuaW8vbm90LXJlYWR5CiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgICAgLSBlZmZlY3Q6IE5vU2NoZWR1bGUKICAgICAgICAgIGtleTogbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vbWFzdGVyCiAgICAgICAgICBvcGVyYXRvcjogRXhpc3RzCiAgICAgIHByaW9yaXR5Q2xhc3NOYW1lOiBhY2ljbmktcHJpb3JpdHkKICAgICAgY29udGFpbmVyczoKICAgICAgICAtIG5hbWU6IGFjaS1jb250YWluZXJzLWNvbnRyb2xsZXIKICAgICAgICAgIGltYWdlOiBub2lyby9hY2ktY29udGFpbmVycy1jb250cm9sbGVyOjYuMC4zLjEuODFjMjM2OQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMKICAgICAgICAgIGVudjoKICAgICAgICAgICAgLSBuYW1lOiBTWVNURU1fTkFNRVNQQUNFCiAgICAgICAgICAgICAgdmFsdWU6ICJhY2ktY29udGFpbmVycy1zeXN0ZW0iCiAgICAgICAgICB2b2x1bWVNb3VudHM6CiAgICAgICAgICAgIC0gbmFtZTogY29udHJvbGxlci1jb25maWctdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdXNyL2xvY2FsL2V0Yy9hY2ktY29udGFpbmVycy8KICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2dwb2RzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvdmFyL2xvZy9jb250YWluZXJzCiAgICAgICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICAgICAgLSBuYW1lOiB2YXJsaWJkb2NrZXIKICAgICAgICAgICAgICBtb3VudFBhdGg6IC92YXIvbGliL2RvY2tlcgogICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlCiAgICAgICAgICAgIC0gbmFtZTogYWNpLXVzZXItY2VydC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IC91c3IvbG9jYWwvZXRjL2FjaS1jZXJ0LwogICAgICAgICAgbGl2ZW5lc3NQcm9iZToKICAgICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogMTAKICAgICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgICBwYXRoOiAvc3RhdHVzCiAgICAgICAgICAgICAgcG9ydDogODA5MQogICAgICAgICAgICAgIHNjaGVtZTogSFRUUAogICAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAxMjAKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogNjAKICAgICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogMQogICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogMzAKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFjaS11c2VyLWNlcnQtdm9sdW1lCiAgICAgICAgICBzZWNyZXQ6CiAgICAgICAgICAgIHNlY3JldE5hbWU6IGFjaS11c2VyLWNlcnQKICAgICAgICAtIG5hbWU6IGNvbnRyb2xsZXItY29uZmlnLXZvbHVtZQogICAgICAgICAgY29uZmlnTWFwOgogICAgICAgICAgICBuYW1lOiBhY2ktY29udGFpbmVycy1jb25maWcKICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgLSBrZXk6IGNvbnRyb2xsZXItY29uZmlnCiAgICAgICAgICAgICAgICBwYXRoOiBjb250cm9sbGVyLmNvbmYKICAgICAgICAtIG5hbWU6IHZhcmxvZ3BvZHMKICAgICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgICBwYXRoOiAvdmFyL2xvZy9wb2RzCiAgICAgICAgLSBuYW1lOiB2YXJsb2djb250YWluZXJzCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9sb2cvY29udGFpbmVycwogICAgICAgIC0gbmFtZTogdmFybGliZG9ja2VyCiAgICAgICAgICBob3N0UGF0aDoKICAgICAgICAgICAgcGF0aDogL3Zhci9saWIvZG9ja2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBMaW1pdFJhbmdlCm1ldGFkYXRhOgogIG5hbWU6IG1lbW9yeS1saW1pdC1yYW5nZQogIG5hbWVzcGFjZTogYWNpLWNvbnRhaW5lcnMtc3lzdGVtCnNwZWM6CiAgbGltaXRzOgogIC0gZGVmYXVsdDoKICAgICAgbWVtb3J5OiAzR2kKICAgIGRlZmF1bHRSZXF1ZXN0OgogICAgICBtZW1vcnk6IDEyOE1pCiAgICB0eXBlOiBDb250YWluZXIKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBhbm5vdGF0aW9uczoKICAgIGNvbnRyb2xsZXItZ2VuLmt1YmVidWlsZGVyLmlvL3ZlcnNpb246IHYwLjEyLjAKICBuYW1lOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnRzLmFjaS5mYWJyaWNhdHRhY2htZW50CnNwZWM6CiAgZ3JvdXA6IGFjaS5mYWJyaWNhdHRhY2htZW50CiAgbmFtZXM6CiAgICBraW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnQKICAgIGxpc3RLaW5kOiBOb2RlRmFicmljTmV0d29ya0F0dGFjaG1lbnRMaXN0CiAgICBwbHVyYWw6IG5vZGVmYWJyaWNuZXR3b3JrYXR0YWNobWVudHMKICAgIHNob3J0TmFtZXM6CiAgICAtIG5mbmEKICAgIHNpbmd1bGFyOiBub2RlZmFicmljbmV0d29ya2F0dGFjaG1lbnQKICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb25zOgogIC0gbmFtZTogdjEKICAgIHNjaGVtYToKICAgICAgb3BlbkFQSVYzU2NoZW1hOgogICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRmFicmljQXR0YWNobWVudHMKICAgICAgICAgIEFQSQogICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICBhcGlWZXJzaW9uOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FQSVZlcnNpb24gZGVmaW5lcyB0aGUgdmVyc2lvbmVkIHNjaGVtYSBvZiB0aGlzIHJlcHJlc2VudGF0aW9uCiAgICAgICAgICAgICAgb2YgYW4gb2JqZWN0LiBTZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0CiAgICAgICAgICAgICAgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIGtpbmQ6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcwogICAgICAgICAgICAgIG9iamVjdCByZXByZXNlbnRzLiBTZXJ2ZXJzIG1heSBpbmZlciB0aGlzIGZyb20gdGhlIGVuZHBvaW50IHRoZSBjbGllbnQKICAgICAgICAgICAgICBzdWJtaXRzIHJlcXVlc3RzIHRvLiBDYW5ub3QgYmUgdXBkYXRlZC4gSW4gQ2FtZWxDYXNlLiBNb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzJwogICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBOb2RlRmFicmljQXR0YWNobWVudFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBuZXR3b3JrCiAgICAgICAgICAgICAgYXR0YWNobWVudCB0byB0aGUgZmFicmljCiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgYWNpVG9wb2xvZ3k6CiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgICBmYWJyaWNMaW5rOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgICBwb2RzOgogICAgICAgICAgICAgICAgICAgICAgaXRlbXM6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxJZmFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgIHBvZFJlZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIG5hbWVzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgICAgICAgICAgdHlwZTogYXJyYXkKICAgICAgICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogTWFwIG9mIGlmYWNlIHRvIGZhYnJpY0xpbmsKICAgICAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgICAgIGVuY2FwVmxhbjoKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIG5ldHdvcmtSZWY6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNQRUMgRklFTERTIC0gZGVzaXJlZCBzdGF0ZSBvZiBjbHVzdGVyCiAgICAgICAgICAgICAgICAgIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlIGNvZGUgYWZ0ZXIKICAgICAgICAgICAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZmlsZSBBZGQgY3VzdG9tIHZhbGlkYXRpb24gdXNpbmcga3ViZWJ1aWxkZXIgdGFnczoKICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9ib29rLmt1YmVidWlsZGVyLmlvL2JleW9uZF9iYXNpY3MvZ2VuZXJhdGluZ19jcmQuaHRtbCBOZXR3b3JrUmVmCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBucy9uZXQtYXR0LWRlZiBuYW1lLCB1c2VkIGFzIHBhcnQgb2YgdGhlIGVwZyBucy08TmV0d29ya05hbWU+JwogICAgICAgICAgICAgICAgcHJvcGVydGllczoKICAgICAgICAgICAgICAgICAgbmFtZToKICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgICAgICAtIG5hbWUKICAgICAgICAgICAgICAgIC0gbmFtZXNwYWNlCiAgICAgICAgICAgICAgICB0eXBlOiBvYmplY3QKICAgICAgICAgICAgICBub2RlTmFtZToKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICAgIHByaW1hcnlDbmk6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2luZm9ybWF0aW9uYWw6IHByaW1hcnlDTkkgc3Jpb3YvbWFjdmxhbicKICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZwogICAgICAgICAgICByZXF1aXJlZDoKICAgICAgICAgICAgLSBuZXR3b3JrUmVmCiAgICAgICAgICAgIHR5cGU6IG9iamVjdAogICAgICAgICAgc3RhdHVzOgogICAgICAgICAgICBkZXNjcmlwdGlvbjogTm9kZUZhYnJpY0F0dGFjaG1lbnRTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YKICAgICAgICAgICAgICBGYWJyaWNBdHRhY2htZW50CiAgICAgICAgICAgIHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgc3RhdGU6CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lOU0VSVCBBRERJVElPTkFMIFNUQVRVUyBGSUVMRCAtIGRlZmluZSBvYnNlcnZlZCBzdGF0ZQogICAgICAgICAgICAgICAgICBvZiBjbHVzdGVyIEltcG9ydGFudDogUnVuICJvcGVyYXRvci1zZGsgZ2VuZXJhdGUgazhzIiB0byByZWdlbmVyYXRlCiAgICAgICAgICAgICAgICAgIGNvZGUgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgZmlsZTcgQWRkIGN1c3RvbSB2YWxpZGF0aW9uIHVzaW5nIGt1YmVidWlsZGVyCiAgICAgICAgICAgICAgICAgIHRhZ3M6IGh0dHBzOi8vYm9vay5rdWJlYnVpbGRlci5pby9iZXlvbmRfYmFzaWNzL2dlbmVyYXRpbmdfY3JkLmh0bWwnCiAgICAgICAgICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICAgICAgcmVxdWlyZWQ6CiAgICAgICAgICAgIC0gc3RhdGUKICAgICAgICAgICAgdHlwZTogb2JqZWN0CiAgICAgICAgdHlwZTogb2JqZWN0CiAgICBzZXJ2ZWQ6IHRydWUKICAgIHN0b3JhZ2U6IHRydWUK" } --- apiVersion: v1 @@ -1354,7 +1354,7 @@ data: }, "chained_cni_config": { "enable": true, - "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf", + "primary_cni_path": "/mnt/cni-conf/cni/net.d/10-ovn-kubernetes.conf" }, "net_config": { "kubeapi_vlan": 4001, @@ -1391,6 +1391,7 @@ data: "aci-vmm-domain": "kube", "aci-vmm-controller": "kube", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "aci-policy-tenant": "kube", "aci-nodebd-dn": "uni/tn-kube/BD-netop-nodes", "aci-service-phys-dom": "kube-physdom", @@ -1420,6 +1421,7 @@ data: "kubeapi-vlan": 4001, "node-subnet": "10.1.0.1/16", "aci-additional-vlans": "[4002, 4003, 4009, 4004-4007]", + "aci-use-global-scope-vlan": false, "enable-drop-log": true, "enable-nodepodif": false }