From 8651084d6ff5d4165052a8685d1f547661c39485 Mon Sep 17 00:00:00 2001 From: Tom Martensen Date: Fri, 30 Jan 2026 12:35:31 +0100 Subject: [PATCH] test pyyaml 6.0.3 update --- bundles.yaml | 4 +- .../rhacs-operator/catalog.json | 541 ++++ .../rhacs-operator/catalog.json | 2408 +++++++++++++++++ catalog-template.yaml | 251 ++ cmd/generate-catalog/generate.go | 3 +- 5 files changed, 3205 insertions(+), 2 deletions(-) diff --git a/bundles.yaml b/bundles.yaml index fec4587b..f88571e3 100644 --- a/bundles.yaml +++ b/bundles.yaml @@ -1,5 +1,5 @@ # Oldest supported version should be equal to the lowest supported version in the support policy document. -# See: https://access.redhat.com/support/policy/updates/rhacs +# See: https://access.redhat.com/support/policy/updates/rhacs oldest_supported_version: 4.8.0 images: - image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:6cdcf20771f9c46640b466f804190d00eaf2e59caee6d420436e78b283d177bf @@ -254,3 +254,5 @@ images: version: 4.9.1 - image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:b3fbc67b7b2333acf5b574dafc727b5953ff8360b2a9ead7505d3f223f29dbe6 version: 4.9.2 + - image: quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e + version: 4.11.0-4-gd5db60d0d8-fast diff --git a/catalog-bundle-object/rhacs-operator/catalog.json b/catalog-bundle-object/rhacs-operator/catalog.json index d3b7b490..9664eb60 100644 --- a/catalog-bundle-object/rhacs-operator/catalog.json +++ b/catalog-bundle-object/rhacs-operator/catalog.json @@ -1603,6 +1603,417 @@ } ] } +{ + "schema": "olm.channel", + "name": "rhacs-4.11", + "package": "rhacs-operator", + "entries": [ + { + "name": "rhacs-operator.v4.0.0", + "skipRange": ">= 3.74.0 < 4.0.0" + }, + { + "name": "rhacs-operator.v4.0.1", + "replaces": "rhacs-operator.v4.0.0", + "skipRange": ">= 3.74.0 < 4.0.1" + }, + { + "name": "rhacs-operator.v4.0.2", + "replaces": "rhacs-operator.v4.0.1", + "skipRange": ">= 3.74.0 < 4.0.2" + }, + { + "name": "rhacs-operator.v4.0.3", + "replaces": "rhacs-operator.v4.0.2", + "skipRange": ">= 3.74.0 < 4.0.3" + }, + { + "name": "rhacs-operator.v4.0.4", + "replaces": "rhacs-operator.v4.0.3", + "skipRange": ">= 3.74.0 < 4.0.4" + }, + { + "name": "rhacs-operator.v4.0.5", + "replaces": "rhacs-operator.v4.0.4", + "skipRange": ">= 3.74.0 < 4.0.5" + }, + { + "name": "rhacs-operator.v4.1.0", + "replaces": "rhacs-operator.v4.0.5", + "skipRange": ">= 4.0.0 < 4.1.0" + }, + { + "name": "rhacs-operator.v4.1.1", + "replaces": "rhacs-operator.v4.1.0", + "skipRange": ">= 4.0.0 < 4.1.1" + }, + { + "name": "rhacs-operator.v4.1.2", + "replaces": "rhacs-operator.v4.1.1", + "skipRange": ">= 4.0.0 < 4.1.2" + }, + { + "name": "rhacs-operator.v4.1.3", + "replaces": "rhacs-operator.v4.1.2", + "skipRange": ">= 4.0.0 < 4.1.3" + }, + { + "name": "rhacs-operator.v4.1.4", + "replaces": "rhacs-operator.v4.1.3", + "skipRange": ">= 4.0.0 < 4.1.4" + }, + { + "name": "rhacs-operator.v4.1.5", + "replaces": "rhacs-operator.v4.1.4", + "skipRange": ">= 4.0.0 < 4.1.5" + }, + { + "name": "rhacs-operator.v4.1.6", + "replaces": "rhacs-operator.v4.1.5", + "skipRange": ">= 4.0.0 < 4.1.6" + }, + { + "name": "rhacs-operator.v4.2.0", + "replaces": "rhacs-operator.v4.1.6", + "skipRange": ">= 4.1.0 < 4.2.0" + }, + { + "name": "rhacs-operator.v4.2.1", + "replaces": "rhacs-operator.v4.2.0", + "skipRange": ">= 4.1.0 < 4.2.1" + }, + { + "name": "rhacs-operator.v4.2.2", + "replaces": "rhacs-operator.v4.2.1", + "skipRange": ">= 4.1.0 < 4.2.2" + }, + { + "name": "rhacs-operator.v4.2.3", + "replaces": "rhacs-operator.v4.2.2", + "skipRange": ">= 4.1.0 < 4.2.3" + }, + { + "name": "rhacs-operator.v4.2.4", + "replaces": "rhacs-operator.v4.2.3", + "skipRange": ">= 4.1.0 < 4.2.4" + }, + { + "name": "rhacs-operator.v4.2.5", + "replaces": "rhacs-operator.v4.2.4", + "skipRange": ">= 4.1.0 < 4.2.5" + }, + { + "name": "rhacs-operator.v4.3.0", + "replaces": "rhacs-operator.v4.2.5", + "skipRange": ">= 4.2.0 < 4.3.0" + }, + { + "name": "rhacs-operator.v4.3.1", + "replaces": "rhacs-operator.v4.3.0", + "skipRange": ">= 4.2.0 < 4.3.1" + }, + { + "name": "rhacs-operator.v4.3.2", + "replaces": "rhacs-operator.v4.3.1", + "skipRange": ">= 4.2.0 < 4.3.2" + }, + { + "name": "rhacs-operator.v4.3.3", + "replaces": "rhacs-operator.v4.3.2", + "skipRange": ">= 4.2.0 < 4.3.3" + }, + { + "name": "rhacs-operator.v4.3.4", + "replaces": "rhacs-operator.v4.3.3", + "skipRange": ">= 4.2.0 < 4.3.4" + }, + { + "name": "rhacs-operator.v4.3.5", + "replaces": "rhacs-operator.v4.3.4", + "skipRange": ">= 4.2.0 < 4.3.5" + }, + { + "name": "rhacs-operator.v4.3.6", + "replaces": "rhacs-operator.v4.3.5", + "skipRange": ">= 4.2.0 < 4.3.6" + }, + { + "name": "rhacs-operator.v4.3.7", + "replaces": "rhacs-operator.v4.3.6", + "skipRange": ">= 4.2.0 < 4.3.7" + }, + { + "name": "rhacs-operator.v4.3.8", + "replaces": "rhacs-operator.v4.3.7", + "skipRange": ">= 4.2.0 < 4.3.8" + }, + { + "name": "rhacs-operator.v4.4.0", + "replaces": "rhacs-operator.v4.3.8", + "skipRange": ">= 4.3.0 < 4.4.0" + }, + { + "name": "rhacs-operator.v4.4.1", + "replaces": "rhacs-operator.v4.4.0", + "skipRange": ">= 4.3.0 < 4.4.1" + }, + { + "name": "rhacs-operator.v4.4.2", + "replaces": "rhacs-operator.v4.4.1", + "skipRange": ">= 4.3.0 < 4.4.2" + }, + { + "name": "rhacs-operator.v4.4.3", + "replaces": "rhacs-operator.v4.4.2", + "skipRange": ">= 4.3.0 < 4.4.3" + }, + { + "name": "rhacs-operator.v4.4.4", + "replaces": "rhacs-operator.v4.4.3", + "skipRange": ">= 4.3.0 < 4.4.4" + }, + { + "name": "rhacs-operator.v4.4.5", + "replaces": "rhacs-operator.v4.4.4", + "skipRange": ">= 4.3.0 < 4.4.5" + }, + { + "name": "rhacs-operator.v4.4.6", + "replaces": "rhacs-operator.v4.4.5", + "skipRange": ">= 4.3.0 < 4.4.6" + }, + { + "name": "rhacs-operator.v4.4.7", + "replaces": "rhacs-operator.v4.4.6", + "skipRange": ">= 4.3.0 < 4.4.7" + }, + { + "name": "rhacs-operator.v4.4.8", + "replaces": "rhacs-operator.v4.4.7", + "skipRange": ">= 4.3.0 < 4.4.8" + }, + { + "name": "rhacs-operator.v4.5.0", + "replaces": "rhacs-operator.v4.4.8", + "skipRange": ">= 4.4.0 < 4.5.0" + }, + { + "name": "rhacs-operator.v4.5.1", + "replaces": "rhacs-operator.v4.5.0", + "skipRange": ">= 4.4.0 < 4.5.1" + }, + { + "name": "rhacs-operator.v4.5.2", + "replaces": "rhacs-operator.v4.5.1", + "skipRange": ">= 4.4.0 < 4.5.2" + }, + { + "name": "rhacs-operator.v4.5.3", + "replaces": "rhacs-operator.v4.5.2", + "skipRange": ">= 4.4.0 < 4.5.3" + }, + { + "name": "rhacs-operator.v4.5.4", + "replaces": "rhacs-operator.v4.5.3", + "skipRange": ">= 4.4.0 < 4.5.4" + }, + { + "name": "rhacs-operator.v4.5.5", + "replaces": "rhacs-operator.v4.5.4", + "skipRange": ">= 4.4.0 < 4.5.5" + }, + { + "name": "rhacs-operator.v4.5.6", + "replaces": "rhacs-operator.v4.5.5", + "skipRange": ">= 4.4.0 < 4.5.6" + }, + { + "name": "rhacs-operator.v4.5.7", + "replaces": "rhacs-operator.v4.5.6", + "skipRange": ">= 4.4.0 < 4.5.7" + }, + { + "name": "rhacs-operator.v4.5.8", + "replaces": "rhacs-operator.v4.5.7", + "skipRange": ">= 4.4.0 < 4.5.8" + }, + { + "name": "rhacs-operator.v4.5.9", + "replaces": "rhacs-operator.v4.5.8", + "skipRange": ">= 4.4.0 < 4.5.9" + }, + { + "name": "rhacs-operator.v4.6.0", + "replaces": "rhacs-operator.v4.5.9", + "skipRange": ">= 4.5.0 < 4.6.0" + }, + { + "name": "rhacs-operator.v4.6.1", + "replaces": "rhacs-operator.v4.6.0", + "skipRange": ">= 4.5.0 < 4.6.1" + }, + { + "name": "rhacs-operator.v4.6.2", + "replaces": "rhacs-operator.v4.6.1", + "skipRange": ">= 4.5.0 < 4.6.2" + }, + { + "name": "rhacs-operator.v4.6.3", + "replaces": "rhacs-operator.v4.6.2", + "skipRange": ">= 4.5.0 < 4.6.3" + }, + { + "name": "rhacs-operator.v4.6.4", + "replaces": "rhacs-operator.v4.6.3", + "skipRange": ">= 4.5.0 < 4.6.4" + }, + { + "name": "rhacs-operator.v4.6.5", + "replaces": "rhacs-operator.v4.6.4", + "skipRange": ">= 4.5.0 < 4.6.5" + }, + { + "name": "rhacs-operator.v4.6.6", + "replaces": "rhacs-operator.v4.6.5", + "skipRange": ">= 4.5.0 < 4.6.6" + }, + { + "name": "rhacs-operator.v4.6.7", + "replaces": "rhacs-operator.v4.6.6", + "skipRange": ">= 4.5.0 < 4.6.7" + }, + { + "name": "rhacs-operator.v4.6.8", + "replaces": "rhacs-operator.v4.6.7", + "skipRange": ">= 4.5.0 < 4.6.8" + }, + { + "name": "rhacs-operator.v4.6.9", + "replaces": "rhacs-operator.v4.6.8", + "skipRange": ">= 4.5.0 < 4.6.9" + }, + { + "name": "rhacs-operator.v4.6.10", + "replaces": "rhacs-operator.v4.6.9", + "skipRange": ">= 4.5.0 < 4.6.10" + }, + { + "name": "rhacs-operator.v4.7.0", + "replaces": "rhacs-operator.v4.6.10", + "skipRange": ">= 4.6.0 < 4.7.0" + }, + { + "name": "rhacs-operator.v4.7.1", + "replaces": "rhacs-operator.v4.7.0", + "skipRange": ">= 4.6.0 < 4.7.1" + }, + { + "name": "rhacs-operator.v4.7.2", + "replaces": "rhacs-operator.v4.7.1", + "skipRange": ">= 4.6.0 < 4.7.2" + }, + { + "name": "rhacs-operator.v4.7.3", + "replaces": "rhacs-operator.v4.7.2", + "skipRange": ">= 4.6.0 < 4.7.3" + }, + { + "name": "rhacs-operator.v4.7.4", + "replaces": "rhacs-operator.v4.7.3", + "skipRange": ">= 4.6.0 < 4.7.4" + }, + { + "name": "rhacs-operator.v4.7.5", + "replaces": "rhacs-operator.v4.7.4", + "skipRange": ">= 4.6.0 < 4.7.5" + }, + { + "name": "rhacs-operator.v4.7.6", + "replaces": "rhacs-operator.v4.7.5", + "skipRange": ">= 4.6.0 < 4.7.6" + }, + { + "name": "rhacs-operator.v4.7.7", + "replaces": "rhacs-operator.v4.7.6", + "skipRange": ">= 4.6.0 < 4.7.7" + }, + { + "name": "rhacs-operator.v4.7.8", + "replaces": "rhacs-operator.v4.7.7", + "skipRange": ">= 4.6.0 < 4.7.8" + }, + { + "name": "rhacs-operator.v4.7.9", + "replaces": "rhacs-operator.v4.7.8", + "skipRange": ">= 4.6.0 < 4.7.9" + }, + { + "name": "rhacs-operator.v4.8.0", + "replaces": "rhacs-operator.v4.7.9", + "skipRange": ">= 4.7.0 < 4.8.0" + }, + { + "name": "rhacs-operator.v4.8.1", + "replaces": "rhacs-operator.v4.8.0", + "skipRange": ">= 4.7.0 < 4.8.1" + }, + { + "name": "rhacs-operator.v4.8.2", + "replaces": "rhacs-operator.v4.8.1", + "skipRange": ">= 4.7.0 < 4.8.2" + }, + { + "name": "rhacs-operator.v4.8.3", + "replaces": "rhacs-operator.v4.8.2", + "skipRange": ">= 4.7.0 < 4.8.3" + }, + { + "name": "rhacs-operator.v4.8.4", + "replaces": "rhacs-operator.v4.8.3", + "skipRange": ">= 4.7.0 < 4.8.4" + }, + { + "name": "rhacs-operator.v4.8.5", + "replaces": "rhacs-operator.v4.8.4", + "skipRange": ">= 4.7.0 < 4.8.5" + }, + { + "name": "rhacs-operator.v4.8.6", + "replaces": "rhacs-operator.v4.8.5", + "skipRange": ">= 4.7.0 < 4.8.6" + }, + { + "name": "rhacs-operator.v4.8.7", + "replaces": "rhacs-operator.v4.8.6", + "skipRange": ">= 4.7.0 < 4.8.7" + }, + { + "name": "rhacs-operator.v4.8.8", + "replaces": "rhacs-operator.v4.8.7", + "skipRange": ">= 4.7.0 < 4.8.8" + }, + { + "name": "rhacs-operator.v4.9.0", + "replaces": "rhacs-operator.v4.8.8", + "skipRange": ">= 4.8.0 < 4.9.0" + }, + { + "name": "rhacs-operator.v4.9.1", + "replaces": "rhacs-operator.v4.9.0", + "skipRange": ">= 4.8.0 < 4.9.1" + }, + { + "name": "rhacs-operator.v4.9.2", + "replaces": "rhacs-operator.v4.9.1", + "skipRange": ">= 4.8.0 < 4.9.2" + }, + { + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "replaces": "rhacs-operator.v4.9.2", + "skipRange": ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" + } + ] +} { "schema": "olm.channel", "name": "rhacs-4.2", @@ -4124,6 +4535,11 @@ "name": "rhacs-operator.v4.9.2", "replaces": "rhacs-operator.v4.9.1", "skipRange": ">= 4.8.0 < 4.9.2" + }, + { + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "replaces": "rhacs-operator.v4.9.2", + "skipRange": ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" } ] } @@ -11412,6 +11828,131 @@ } ] } +{ + "schema": "olm.bundle", + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "package": "rhacs-operator", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e", + "properties": [ + { + "type": "olm.gvk", + "value": { + "group": "config.stackrox.io", + "kind": "SecurityPolicy", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "Central", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "SecuredCluster", + "version": "v1alpha1" + } + }, + { + "type": "olm.package", + "value": { + "packageName": "rhacs-operator", + "version": "4.11.0-4-gd5db60d0d8-fast" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoiY2VudHJhbHMucGxhdGZvcm0uc3RhY2tyb3guaW8ifSwic3BlYyI6eyJncm91cCI6InBsYXRmb3JtLnN0YWNrcm94LmlvIiwibmFtZXMiOnsia2luZCI6IkNlbnRyYWwiLCJsaXN0S2luZCI6IkNlbnRyYWxMaXN0IiwicGx1cmFsIjoiY2VudHJhbHMiLCJzaW5ndWxhciI6ImNlbnRyYWwifSwic2NvcGUiOiJOYW1lc3BhY2VkIiwidmVyc2lvbnMiOlt7ImFkZGl0aW9uYWxQcmludGVyQ29sdW1ucyI6W3sianNvblBhdGgiOiIuc3RhdHVzLnByb2R1Y3RWZXJzaW9uIiwibmFtZSI6IlZlcnNpb24iLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY2VudHJhbC5hZG1pblBhc3N3b3JkLmFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UiLCJuYW1lIjoiQWRtaW5QYXNzd29yZCIsInR5cGUiOiJzdHJpbmcifSx7Impzb25QYXRoIjoiLnN0YXR1cy5jb25kaXRpb25zWz8oQC50eXBlPT1cIkRlcGxveWVkXCIpXS5tZXNzYWdlIiwibmFtZSI6Ik1lc3NhZ2UiLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY29uZGl0aW9uc1s/KEAudHlwZT09XCJQcm9ncmVzc2luZ1wiKV0uc3RhdHVzIiwibmFtZSI6IlByb2dyZXNzaW5nIiwidHlwZSI6InN0cmluZyJ9LHsianNvblBhdGgiOiIuc3RhdHVzLmNvbmRpdGlvbnNbPyhALnR5cGU9PVwiQXZhaWxhYmxlXCIpXS5zdGF0dXMiLCJuYW1lIjoiQXZhaWxhYmxlIiwidHlwZSI6InN0cmluZyJ9XSwibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IkNlbnRyYWwgaXMgdGhlIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9yIHRoZSBjZW50cmFsIHNlcnZpY2VzLiBUaGlzIGluY2x1ZGVzIHRoZSBBUEkgc2VydmVyLCBwZXJzaXN0ZW50IHN0b3JhZ2UsXG5hbmQgdGhlIHdlYiBVSSwgYXMgd2VsbCBhcyB0aGUgaW1hZ2Ugc2Nhbm5lci4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJDZW50cmFsU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIENlbnRyYWwiLCJwcm9wZXJ0aWVzIjp7ImNlbnRyYWwiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENlbnRyYWwgY29tcG9uZW50LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYWxsIHVzZXIgaW50ZXJhY3Rpb24uIiwicHJvcGVydGllcyI6eyJhZG1pblBhc3N3b3JkR2VuZXJhdGlvbkRpc2FibGVkIjp7ImRlc2NyaXB0aW9uIjoiRGlzYWJsZSBhZG1pbiBwYXNzd29yZCBnZW5lcmF0aW9uLiBEbyBub3QgdXNlIHRoaXMgZm9yIGZpcnN0LXRpbWUgaW5zdGFsbGF0aW9ucyxcbmFzIHlvdSB3aWxsIGhhdmUgbm8gd2F5IHRvIHBlcmZvcm0gaW5pdGlhbCBzZXR1cCBhbmQgY29uZmlndXJhdGlvbiBvZiBhbHRlcm5hdGl2ZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzLiIsInR5cGUiOiJib29sZWFuIn0sImFkbWluUGFzc3dvcmRTZWNyZXQiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIGFkbWluaXN0cmF0b3IgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uXG5JZiBvbWl0dGVkLCB0aGUgb3BlcmF0b3Igd2lsbCBhdXRvLWdlbmVyYXRlIGEgcGFzc3dvcmQgYW5kIHN0b3JlIGl0IGluIHRoZSBcInBhc3N3b3JkXCIgaXRlbVxuaW4gdGhlIFwiY2VudHJhbC1odHBhc3N3ZFwiIHNlY3JldC4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sImRiIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIENlbnRyYWwgREIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBkYXRhIHBlcnNpc3RlbmNlLiIsInByb3BlcnRpZXMiOnsiY29uZmlnT3ZlcnJpZGUiOnsiZGVzY3JpcHRpb24iOiJDb25maWcgbWFwIGNvbnRhaW5pbmcgcG9zdGdyZXNxbC5jb25mIGFuZCBwZ19oYmEuY29uZiB0aGF0IHdpbGwgYmUgdXNlZCBpZiBtb2RpZmljYXRpb25zIG5lZWQgdG8gYmUgYXBwbGllZC4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJjb25uZWN0aW9uUG9vbFNpemUiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHBvb2wgc2l6ZS4iLCJwcm9wZXJ0aWVzIjp7Im1heENvbm5lY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiA5MC4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sIm1pbkNvbm5lY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiTWluaW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiAxMC4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJyZXF1aXJlZCI6WyJtYXhDb25uZWN0aW9ucyIsIm1pbkNvbm5lY3Rpb25zIl0sInR5cGUiOiJvYmplY3QifSwiY29ubmVjdGlvblN0cmluZyI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBjb25uZWN0aW9uIHN0cmluZyB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgZGF0YWJhc2UgbWFuYWdlZCBlbHNld2hlcmUuIElmIHNldCwgdGhlIG9wZXJhdG9yIHdpbGwgbm90IG1hbmFnZSB0aGUgQ2VudHJhbCBEQi5cbldoZW4gdXNpbmcgdGhpcyBvcHRpb24sIHlvdSBtdXN0IGV4cGxpY2l0bHkgc2V0IGEgcGFzc3dvcmQgc2VjcmV0OyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRpbmcgYSBwYXNzd29yZCB3aWxsIG5vdFxuYmUgc3VwcG9ydGVkLiIsInR5cGUiOiJzdHJpbmcifSwiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sImlzRW5hYmxlZCI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLlxuVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJlbnVtIjpbIkRlZmF1bHQiLCJFbmFibGVkIl0sInR5cGUiOiJzdHJpbmcifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJwYXNzd29yZFNlY3JldCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uIFRoaXMgY2FuIG9ubHkgYmUgdXNlZCB3aGVuXG5zcGVjaWZ5aW5nIGEgY29ubmVjdGlvbiBzdHJpbmcgbWFudWFsbHkuXG5XaGVuIG9taXR0ZWQsIHRoZSBvcGVyYXRvciB3aWxsIGF1dG8tZ2VuZXJhdGUgYSBEQiBwYXNzd29yZCBhbmQgc3RvcmUgaXQgaW4gdGhlIFwicGFzc3dvcmRcIiBpdGVtXG5pbiB0aGUgXCJjZW50cmFsLWRiLXBhc3N3b3JkXCIgc2VjcmV0LiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwicGVyc2lzdGVuY2UiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBDZW50cmFsIERCIHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLiBZb3UgY2FuIGNob29zZSBiZXR3ZWVuIHVzaW5nIGEgcGVyc2lzdGVudFxudm9sdW1lIGNsYWltIChyZWNvbW1lbmRlZCBkZWZhdWx0KSwgYW5kIGEgaG9zdCBwYXRoLiIsInByb3BlcnRpZXMiOnsiaG9zdFBhdGgiOnsiZGVzY3JpcHRpb24iOiJTdG9yZXMgcGVyc2lzdGVudCBkYXRhIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBob3N0LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIHNob3VsZCBvbmx5XG5iZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSBub2RlIHNlbGVjdG9yIChvbmx5IGF2YWlsYWJsZSBpbiBZQU1MIHZpZXcpLiIsInByb3BlcnRpZXMiOnsicGF0aCI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbnRWb2x1bWVDbGFpbSI6eyJkZXNjcmlwdGlvbiI6IlVzZXMgYSBLdWJlcm5ldGVzIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIChQVkMpIHRvIG1hbmFnZSB0aGUgc3RvcmFnZSBsb2NhdGlvbiBvZiBwZXJzaXN0ZW50IGRhdGEuXG5SZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IGNlbnRyYWwtZGIuIiwidHlwZSI6InN0cmluZyJ9LCJzaXplIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHNpemUgb2YgdGhlIHBlcnNpc3RlbnQgdm9sdW1lIHdoZW4gY3JlYXRlZCB0aHJvdWdoIHRoZSBjbGFpbS4gSWYgYSBjbGFpbSB3YXMgYXV0b21hdGljYWxseSBjcmVhdGVkLFxudGhpcyBjYW4gYmUgdXNlZCBhZnRlciB0aGUgaW5pdGlhbCBkZXBsb3ltZW50IHRvIHJlc2l6ZSAoZ3JvdykgdGhlIHZvbHVtZSAob25seSBzdXBwb3J0ZWQgYnkgc29tZVxuc3RvcmFnZSBjbGFzcyBjb250cm9sbGVycykuIiwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwidHlwZSI6InN0cmluZyJ9LCJzdG9yYWdlQ2xhc3NOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwiZGVjbGFyYXRpdmVDb25maWd1cmF0aW9uIjp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyByZXNvdXJjZXMgd2l0aGluIENlbnRyYWwgaW4gYSBkZWNsYXJhdGl2ZSBtYW5uZXIuIiwicHJvcGVydGllcyI6eyJjb25maWdNYXBzIjp7ImRlc2NyaXB0aW9uIjoiTGlzdCBvZiBjb25maWcgbWFwcyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJMb2NhbENvbmZpZ01hcFJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbmZpZyBtYXAgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwic2VjcmV0cyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2Ygc2VjcmV0cyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJMb2NhbFNlY3JldFJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSB0byBhIHNlY3JldCB3aXRoaW4gdGhlIHNhbWUgbmFtZXNwYWNlLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImRlZmF1bHRUTFNTZWNyZXQiOnsiZGVzY3JpcHRpb24iOiJCeSBkZWZhdWx0LCBDZW50cmFsIHdpbGwgb25seSBzZXJ2ZSBhbiBpbnRlcm5hbCBUTFMgY2VydGlmaWNhdGUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IHdpbGxcbm5lZWQgdG8gaGFuZGxlIFRMUyB0ZXJtaW5hdGlvbiBhdCB0aGUgaW5ncmVzcyBvciBsb2FkIGJhbGFuY2VyIGxldmVsLlxuSWYgeW91IHdhbnQgdG8gdGVybWluYXRlIFRMUyBpbiBDZW50cmFsIGFuZCBzZXJ2ZSBhIGN1c3RvbSBzZXJ2ZXIgY2VydGlmaWNhdGUsIHlvdSBjYW4gc3BlY2lmeVxuYSBzZWNyZXQgY29udGFpbmluZyB0aGUgY2VydGlmaWNhdGUgYW5kIHByaXZhdGUga2V5IGhlcmUuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJleHBvc3VyZSI6eyJkZXNjcmlwdGlvbiI6IkhlcmUgeW91IGNhbiBjb25maWd1cmUgaWYgeW91IHdhbnQgdG8gZXhwb3NlIGNlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydCwgYSBsb2FkIGJhbGFuY2VyLCBvciBhbiBPcGVuU2hpZnRcbnJvdXRlLiIsInByb3BlcnRpZXMiOnsibG9hZEJhbGFuY2VyIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIGxvYWQgYmFsYW5jZXIgc2VydmljZS4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogZmFsc2UuIiwidHlwZSI6ImJvb2xlYW4ifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3UgaGF2ZSBhIHN0YXRpYyBJUCBhZGRyZXNzIHJlc2VydmVkIGZvciB5b3VyIGxvYWQgYmFsYW5jZXIsIHlvdSBjYW4gZW50ZXIgaXQgaGVyZS4iLCJ0eXBlIjoic3RyaW5nIn0sInBvcnQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNDQzLiIsImZvcm1hdCI6ImludDMyIiwibWF4aW11bSI6NjU1MzUsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJ0eXBlIjoib2JqZWN0In0sIm5vZGVQb3J0Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydC4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogZmFsc2UuIiwidHlwZSI6ImJvb2xlYW4ifSwicG9ydCI6eyJkZXNjcmlwdGlvbiI6IlVzZSB0aGlzIHRvIHNwZWNpZnkgYW4gZXhwbGljaXQgbm9kZSBwb3J0LiBNb3N0IHVzZXJzIHNob3VsZCBsZWF2ZSB0aGlzIGVtcHR5LiIsImZvcm1hdCI6ImludDMyIiwibWF4aW11bSI6NjU1MzUsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJ0eXBlIjoib2JqZWN0In0sInJvdXRlIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhbiBPcGVuU2hpZnQgcm91dGUuIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgd2l0aCBhIHBhc3N0aHJvdWdoIHJvdXRlLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sImhvc3QiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgY3VzdG9tIGhvc3RuYW1lIGZvciB0aGUgQ2VudHJhbCByb3V0ZS5cbklmIHVuc3BlY2lmaWVkLCBhbiBhcHByb3ByaWF0ZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjaG9zZW4gYnkgdGhlIE9wZW5TaGlmdCByb3V0ZSBvcGVyYXRvci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlZW5jcnlwdCI6eyJkZXNjcmlwdGlvbiI6IlNldCB1cCBhIENlbnRyYWwgcm91dGUgd2l0aCByZWVuY3J5cHQgVExTIHRlcm1pbmF0aW9uLlxuRm9yIHJlZW5jcnlwdCByb3V0ZXMsIHRoZSByZXF1ZXN0IGlzIHRlcm1pbmF0ZWQgb24gdGhlIE9wZW5TaGlmdCByb3V0ZXIgd2l0aCBhIGN1c3RvbSBjZXJ0aWZpY2F0ZS5cblRoZSByZXF1ZXN0IGlzIHRoZW4gcmVlbmNyeXB0ZWQgYnkgdGhlIE9wZW5TaGlmdCByb3V0ZXIgYW5kIHNlbnQgdG8gQ2VudHJhbC5cblt1c2VyXSAtLVRMUy0tXHUwMDNlIFtPcGVuU2hpZnQgcm91dGVyXSAtLVRMUy0tXHUwMDNlIFtDZW50cmFsXSIsInByb3BlcnRpZXMiOnsiZW5hYmxlZCI6eyJkZXNjcmlwdGlvbiI6IkV4cG9zZSBDZW50cmFsIHdpdGggYSByZWVuY3J5cHQgcm91dGUuXG5TaG91bGQgbm90IGJlIHVzZWQgZm9yIHNlbnNvciBjb21tdW5pY2F0aW9uLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sImhvc3QiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgY3VzdG9tIGhvc3RuYW1lIGZvciB0aGUgQ2VudHJhbCByZWVuY3J5cHQgcm91dGUuXG5JZiB1bnNwZWNpZmllZCwgYW4gYXBwcm9wcmlhdGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGUgb3BlcmF0b3IuIiwidHlwZSI6InN0cmluZyJ9LCJ0bHMiOnsiZGVzY3JpcHRpb24iOiJUTFMgc2V0dGluZ3MgZm9yIGV4cG9zaW5nIENlbnRyYWwgdmlhIGEgcmVlbmNyeXB0IFJvdXRlLiIsInByb3BlcnRpZXMiOnsiY2FDZXJ0aWZpY2F0ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBjZXJ0aWZpY2F0ZSBjaGFpbiB0aGF0IG1heSBiZSB1c2VkIHRvIGVzdGFibGlzaCBhIGNvbXBsZXRlIGNoYWluIG9mIHRydXN0LlxuRGVmYXVsdHMgdG8gdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9LCJjZXJ0aWZpY2F0ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBjZXJ0aWZpY2F0ZSB0aGF0IGlzIHNlcnZlZCBvbiB0aGUgcm91dGUuIE11c3QgYmUgYSBzaW5nbGUgc2VydmluZ1xuY2VydGlmaWNhdGUgaW5zdGVhZCBvZiBhIGNlcnRpZmljYXRlIGNoYWluLlxuRGVmYXVsdHMgdG8gYSBjZXJ0aWZpY2F0ZSBzaWduZWQgYnkgdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9LCJkZXN0aW5hdGlvbkNBQ2VydGlmaWNhdGUiOnsiZGVzY3JpcHRpb24iOiJUaGUgQ0EgY2VydGlmaWNhdGUgb2YgdGhlIGZpbmFsIGRlc3RpbmF0aW9uLCBpLmUuIG9mIENlbnRyYWwuXG5Vc2VkIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGVyIGZvciBoZWFsdGggY2hlY2tzIG9uIHRoZSBzZWN1cmUgY29ubmVjdGlvbi5cbkRlZmF1bHRzIHRvIHRoZSBDZW50cmFsIGNlcnRpZmljYXRlIGF1dGhvcml0eS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBwcml2YXRlIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgdGhhdCBpcyBzZXJ2ZWQgb24gdGhlIHJvdXRlLlxuRGVmYXVsdHMgdG8gYSBjZXJ0aWZpY2F0ZSBzaWduZWQgYnkgdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgQ2VudHJhbC4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBDZW50cmFsLCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJwcm9wZXJ0aWVzIjp7ImV4cG9zZUVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJub3RpZmllclNlY3JldHNFbmNyeXB0aW9uIjp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0aGUgZW5jcnlwdGlvbiBvZiBub3RpZmllciBzZWNyZXRzIHN0b3JlZCBpbiB0aGUgQ2VudHJhbCBEQi4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRoZSBlbmNyeXB0aW9uIG9mIG5vdGlmaWVyIHNlY3JldHMgc3RvcmVkIGluIHRoZSBDZW50cmFsIERCLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbmNlIjp7ImRlc2NyaXB0aW9uIjoiVW51c2VkIGZpZWxkLiBUaGlzIGZpZWxkIGV4aXN0cyBzb2xlbHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3RhcnRpbmcgZnJvbSB2ZXJzaW9uIHY0LjYuMC4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RQYXRoIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsInByb3BlcnRpZXMiOnsicGF0aCI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbnRWb2x1bWVDbGFpbSI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltTmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJ0eXBlIjoic3RyaW5nIn0sInNpemUiOnsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwidHlwZSI6InN0cmluZyJ9LCJzdG9yYWdlQ2xhc3NOYW1lIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidGVsZW1ldHJ5Ijp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0ZWxlbWV0cnkgc2V0dGluZ3MgZm9yIENlbnRyYWwuIElmIGVuYWJsZWQsIENlbnRyYWwgdHJhbnNtaXRzIHRlbGVtZXRyeSBhbmQgZGlhZ25vc3RpY1xuZGF0YSB0byBhIHJlbW90ZSBzdG9yYWdlIGJhY2tlbmQuIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHdoZXRoZXIgVGVsZW1ldHJ5IGlzIGVuYWJsZWQuXG5UaGUgZGVmYXVsdCBpczogdHJ1ZS4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJzdG9yYWdlIjp7ImRlc2NyaXB0aW9uIjoiRGVmaW5lcyB0aGUgdGVsZW1ldHJ5IHN0b3JhZ2UgYmFja2VuZCBmb3IgQ2VudHJhbC4iLCJwcm9wZXJ0aWVzIjp7ImVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiU3RvcmFnZSBBUEkgZW5kcG9pbnQuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJTdG9yYWdlIEFQSSBrZXkuIElmIG5vdCBzZXQsIHRlbGVtZXRyeSBpcyBkaXNhYmxlZC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJjb25maWdBc0NvZGUiOnsiZGVzY3JpcHRpb24iOiJDb25maWctYXMtQ29kZSBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsiY29uZmlnQXNDb2RlQ29tcG9uZW50Ijp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdG8gZGVwbG95IHRoZSBDb25maWcgYXMgQ29kZSBjb21wb25lbnQsIHNldCB0aGlzIHRvIFwiRW5hYmxlZFwiXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sImhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJjdXN0b21pemUiOnsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgQ2VudHJhbCBTZXJ2aWNlcyBjb21wb25lbnRzLiIsInByb3BlcnRpZXMiOnsiYW5ub3RhdGlvbnMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkN1c3RvbSBhbm5vdGF0aW9ucyB0byBzZXQgb24gYWxsIG1hbmFnZWQgb2JqZWN0cy4iLCJ0eXBlIjoib2JqZWN0In0sImRlcGxveW1lbnREZWZhdWx0cyI6eyJkZXNjcmlwdGlvbiI6Ikdsb2JhbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZvciBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIERhZW1vblNldHMgKENvbGxlY3RvcikgYXJlIG5vdCBhZmZlY3RlZC5cbkNvbXBvbmVudC1sZXZlbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHNldHRpbmdzIG92ZXJyaWRlIHRoZXNlIGRlZmF1bHRzIG9uIGEgZmllbGQtYnktZmllbGQgYmFzaXMuIiwicHJvcGVydGllcyI6eyJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkRlZmF1bHQgbm9kZVNlbGVjdG9yIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgZm9yIGN1c3RvbSBub2RlXG5zZWxlY3Rpb24gY3JpdGVyaWEuXG5DYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIHBpblRvTm9kZXMuIiwidHlwZSI6Im9iamVjdCJ9LCJwaW5Ub05vZGVzIjp7ImRlc2NyaXB0aW9uIjoiUGluIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMgdG8gc3BlY2lmaWMgbm9kZSB0eXBlcy4gVGhpcyBpcyBhIGNvbnZlbmllbmNlIHNldHRpbmdcbnRoYXQgYXV0b21hdGljYWxseSBjb25maWd1cmVzIGJvdGggbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyB3aXRoIHByZWRlZmluZWQgdmFsdWVzLlxuVXNlIHRoaXMgZm9yIGNvbW1vbiBzY2VuYXJpb3MgbGlrZSBydW5uaW5nIG9uIE9wZW5TaGlmdCBpbmZyYXN0cnVjdHVyZSBub2Rlcy5cbkZvciBjdXN0b20gbm9kZSBzZWxlY3Rpb24sIHVzZSB0aGUgZXhwbGljaXQgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmaWVsZHMgaW5zdGVhZC5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggbm9kZVNlbGVjdG9yIG9yIHRvbGVyYXRpb25zIGZpZWxkcy5cblRoZSBkZWZhdWx0IGlzOiBOb25lLiIsImVudW0iOlsiTm9uZSIsIkluZnJhUm9sZSJdLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCB0b2xlcmF0aW9ucyBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIHdoZW4geW91ciB0YXJnZXRcbm5vZGVzIGhhdmUgY3VzdG9tIHRhaW50cyB0aGF0IHBvZHMgbXVzdCB0b2xlcmF0ZS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJlbnZWYXJzIjp7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgb24gbWFuYWdlZCBwb2RzJyBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiRW52VmFyIHJlcHJlc2VudHMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgcHJlc2VudCBpbiBhIENvbnRhaW5lci4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbk1heSBjb25zaXN0IG9mIGFueSBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVycyBleGNlcHQgJz0nLiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYXJpYWJsZSByZWZlcmVuY2VzICQoVkFSX05BTUUpIGFyZSBleHBhbmRlZFxudXNpbmcgdGhlIHByZXZpb3VzbHkgZGVmaW5lZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gdGhlIGNvbnRhaW5lciBhbmRcbmFueSBzZXJ2aWNlIGVudmlyb25tZW50IHZhcmlhYmxlcy4gSWYgYSB2YXJpYWJsZSBjYW5ub3QgYmUgcmVzb2x2ZWQsXG50aGUgcmVmZXJlbmNlIGluIHRoZSBpbnB1dCBzdHJpbmcgd2lsbCBiZSB1bmNoYW5nZWQuIERvdWJsZSAkJCBhcmUgcmVkdWNlZFxudG8gYSBzaW5nbGUgJCwgd2hpY2ggYWxsb3dzIGZvciBlc2NhcGluZyB0aGUgJChWQVJfTkFNRSkgc3ludGF4OiBpLmUuXG5cIiQkKFZBUl9OQU1FKVwiIHdpbGwgcHJvZHVjZSB0aGUgc3RyaW5nIGxpdGVyYWwgXCIkKFZBUl9OQU1FKVwiLlxuRXNjYXBlZCByZWZlcmVuY2VzIHdpbGwgbmV2ZXIgYmUgZXhwYW5kZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdmFyaWFibGVcbmV4aXN0cyBvciBub3QuXG5EZWZhdWx0cyB0byBcIlwiLiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWVGcm9tIjp7ImRlc2NyaXB0aW9uIjoiU291cmNlIGZvciB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUncyB2YWx1ZS4gQ2Fubm90IGJlIHVzZWQgaWYgdmFsdWUgaXMgbm90IGVtcHR5LiIsInByb3BlcnRpZXMiOnsiY29uZmlnTWFwS2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGtleSBvZiBhIENvbmZpZ01hcC4iLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgdG8gc2VsZWN0LiIsInR5cGUiOiJzdHJpbmcifSwibmFtZSI6eyJkZWZhdWx0IjoiIiwiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSByZWZlcmVudC5cblRoaXMgZmllbGQgaXMgZWZmZWN0aXZlbHkgcmVxdWlyZWQsIGJ1dCBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXNcbmFsbG93ZWQgdG8gYmUgZW1wdHkuIEluc3RhbmNlcyBvZiB0aGlzIHR5cGUgd2l0aCBhbiBlbXB0eSB2YWx1ZSBoZXJlIGFyZVxuYWxtb3N0IGNlcnRhaW5seSB3cm9uZy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvbmFtZXMvI25hbWVzIiwidHlwZSI6InN0cmluZyJ9LCJvcHRpb25hbCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgQ29uZmlnTWFwIG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImtleSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn0sImZpZWxkUmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGZpZWxkIG9mIHRoZSBwb2Q6IHN1cHBvcnRzIG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLm5hbWVzcGFjZSwgYG1ldGFkYXRhLmxhYmVsc1snXHUwMDNjS0VZXHUwMDNlJ11gLCBgbWV0YWRhdGEuYW5ub3RhdGlvbnNbJ1x1MDAzY0tFWVx1MDAzZSddYCxcbnNwZWMubm9kZU5hbWUsIHNwZWMuc2VydmljZUFjY291bnROYW1lLCBzdGF0dXMuaG9zdElQLCBzdGF0dXMucG9kSVAsIHN0YXR1cy5wb2RJUHMuIiwicHJvcGVydGllcyI6eyJhcGlWZXJzaW9uIjp7ImRlc2NyaXB0aW9uIjoiVmVyc2lvbiBvZiB0aGUgc2NoZW1hIHRoZSBGaWVsZFBhdGggaXMgd3JpdHRlbiBpbiB0ZXJtcyBvZiwgZGVmYXVsdHMgdG8gXCJ2MVwiLiIsInR5cGUiOiJzdHJpbmcifSwiZmllbGRQYXRoIjp7ImRlc2NyaXB0aW9uIjoiUGF0aCBvZiB0aGUgZmllbGQgdG8gc2VsZWN0IGluIHRoZSBzcGVjaWZpZWQgQVBJIHZlcnNpb24uIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZmllbGRQYXRoIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwiZmlsZUtleVJlZiI6eyJkZXNjcmlwdGlvbiI6IkZpbGVLZXlSZWYgc2VsZWN0cyBhIGtleSBvZiB0aGUgZW52IGZpbGUuXG5SZXF1aXJlcyB0aGUgRW52RmlsZXMgZmVhdHVyZSBnYXRlIHRvIGJlIGVuYWJsZWQuIiwicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJUaGUga2V5IHdpdGhpbiB0aGUgZW52IGZpbGUuIEFuIGludmFsaWQga2V5IHdpbGwgcHJldmVudCB0aGUgcG9kIGZyb20gc3RhcnRpbmcuXG5UaGUga2V5cyBkZWZpbmVkIHdpdGhpbiBhIHNvdXJjZSBtYXkgY29uc2lzdCBvZiBhbnkgcHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlcnMgZXhjZXB0ICc9Jy5cbkR1cmluZyBBbHBoYSBzdGFnZSBvZiB0aGUgRW52RmlsZXMgZmVhdHVyZSBnYXRlLCB0aGUga2V5IHNpemUgaXMgbGltaXRlZCB0byAxMjggY2hhcmFjdGVycy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlZmF1bHQiOmZhbHNlLCJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgZmlsZSBvciBpdHMga2V5IG11c3QgYmUgZGVmaW5lZC4gSWYgdGhlIGZpbGUgb3Iga2V5XG5kb2VzIG5vdCBleGlzdCwgdGhlbiB0aGUgZW52IHZhciBpcyBub3QgcHVibGlzaGVkLlxuSWYgb3B0aW9uYWwgaXMgc2V0IHRvIHRydWUgYW5kIHRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LFxudGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgbm90IGJlIHNldCBpbiB0aGUgUG9kJ3MgY29udGFpbmVycy5cblxuSWYgb3B0aW9uYWwgaXMgc2V0IHRvIGZhbHNlIGFuZCB0aGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdCxcbmFuIGVycm9yIHdpbGwgYmUgcmV0dXJuZWQgZHVyaW5nIFBvZCBjcmVhdGlvbi4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJwYXRoIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBhdGggd2l0aGluIHRoZSB2b2x1bWUgZnJvbSB3aGljaCB0byBzZWxlY3QgdGhlIGZpbGUuXG5NdXN0IGJlIHJlbGF0aXZlIGFuZCBtYXkgbm90IGNvbnRhaW4gdGhlICcuLicgcGF0aCBvciBzdGFydCB3aXRoICcuLicuIiwidHlwZSI6InN0cmluZyJ9LCJ2b2x1bWVOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHZvbHVtZSBtb3VudCBjb250YWluaW5nIHRoZSBlbnYgZmlsZS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJrZXkiLCJwYXRoIiwidm9sdW1lTmFtZSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn0sInJlc291cmNlRmllbGRSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEgcmVzb3VyY2Ugb2YgdGhlIGNvbnRhaW5lcjogb25seSByZXNvdXJjZXMgbGltaXRzIGFuZCByZXF1ZXN0c1xuKGxpbWl0cy5jcHUsIGxpbWl0cy5tZW1vcnksIGxpbWl0cy5lcGhlbWVyYWwtc3RvcmFnZSwgcmVxdWVzdHMuY3B1LCByZXF1ZXN0cy5tZW1vcnkgYW5kIHJlcXVlc3RzLmVwaGVtZXJhbC1zdG9yYWdlKSBhcmUgY3VycmVudGx5IHN1cHBvcnRlZC4iLCJwcm9wZXJ0aWVzIjp7ImNvbnRhaW5lck5hbWUiOnsiZGVzY3JpcHRpb24iOiJDb250YWluZXIgbmFtZTogcmVxdWlyZWQgZm9yIHZvbHVtZXMsIG9wdGlvbmFsIGZvciBlbnYgdmFycyIsInR5cGUiOiJzdHJpbmcifSwiZGl2aXNvciI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHRoZSBvdXRwdXQgZm9ybWF0IG9mIHRoZSBleHBvc2VkIHJlc291cmNlcywgZGVmYXVsdHMgdG8gXCIxXCIiLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sInJlc291cmNlIjp7ImRlc2NyaXB0aW9uIjoiUmVxdWlyZWQ6IHJlc291cmNlIHRvIHNlbGVjdCIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbInJlc291cmNlIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwic2VjcmV0S2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGtleSBvZiBhIHNlY3JldCBpbiB0aGUgcG9kJ3MgbmFtZXNwYWNlIiwicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJUaGUga2V5IG9mIHRoZSBzZWNyZXQgdG8gc2VsZWN0IGZyb20uICBNdXN0IGJlIGEgdmFsaWQgc2VjcmV0IGtleS4iLCJ0eXBlIjoic3RyaW5nIn0sIm5hbWUiOnsiZGVmYXVsdCI6IiIsImRlc2NyaXB0aW9uIjoiTmFtZSBvZiB0aGUgcmVmZXJlbnQuXG5UaGlzIGZpZWxkIGlzIGVmZmVjdGl2ZWx5IHJlcXVpcmVkLCBidXQgZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGlzXG5hbGxvd2VkIHRvIGJlIGVtcHR5LiBJbnN0YW5jZXMgb2YgdGhpcyB0eXBlIHdpdGggYW4gZW1wdHkgdmFsdWUgaGVyZSBhcmVcbmFsbW9zdCBjZXJ0YWlubHkgd3JvbmcuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL292ZXJ2aWV3L3dvcmtpbmctd2l0aC1vYmplY3RzL25hbWVzLyNuYW1lcyIsInR5cGUiOiJzdHJpbmcifSwib3B0aW9uYWwiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IHdoZXRoZXIgdGhlIFNlY3JldCBvciBpdHMga2V5IG11c3QgYmUgZGVmaW5lZCIsInR5cGUiOiJib29sZWFuIn19LCJyZXF1aXJlZCI6WyJrZXkiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJsYWJlbHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkN1c3RvbSBsYWJlbHMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJlZ3Jlc3MiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIG91dGdvaW5nIG5ldHdvcmsgdHJhZmZpYy4iLCJwcm9wZXJ0aWVzIjp7ImNvbm5lY3Rpdml0eVBvbGljeSI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgd2hldGhlciBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgc2hvdWxkIHJ1biBpbiBvbmxpbmUgb3Igb2ZmbGluZSAoZGlzY29ubmVjdGVkKSBtb2RlLlxuSW4gb2ZmbGluZSBtb2RlLCBhdXRvbWF0aWMgdXBkYXRlcyBvZiB2dWxuZXJhYmlsaXR5IGRlZmluaXRpb25zIGFuZCBrZXJuZWwgbW9kdWxlcyBhcmUgZGlzYWJsZWQuXG5UaGUgZGVmYXVsdCBpczogT25saW5lLiIsImVudW0iOlsiT25saW5lIiwiT2ZmbGluZSJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sImltYWdlUHVsbFNlY3JldHMiOnsiZGVzY3JpcHRpb24iOiJBZGRpdGlvbmFsIGltYWdlIHB1bGwgc2VjcmV0cyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHB1bGxpbmcgaW1hZ2VzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiTG9jYWxTZWNyZXRSZWZlcmVuY2UgaXMgYSByZWZlcmVuY2UgdG8gYSBzZWNyZXQgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXNjIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cbk1pc2NlbGxhbmVvdXMgc2V0dGluZ3MuIiwicHJvcGVydGllcyI6eyJjcmVhdGVTQ0NzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwidHlwZSI6ImJvb2xlYW4ifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6Ik1vbml0b3JpbmcgY29uZmlndXJhdGlvbi4iLCJwcm9wZXJ0aWVzIjp7Im9wZW5zaGlmdCI6eyJkZXNjcmlwdGlvbiI6Ik9wZW5TaGlmdE1vbml0b3JpbmcgZGVmaW5lcyBzZXR0aW5ncyByZWxhdGVkIHRvIE9wZW5TaGlmdCBNb25pdG9yaW5nIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImVuYWJsZWQiXSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuZXR3b3JrIjp7ImRlc2NyaXB0aW9uIjoiTmV0d29yayBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsicG9saWNpZXMiOnsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwib3ZlcmxheXMiOnsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSzhzT2JqZWN0T3ZlcmxheSBpcyBhbiBvdmVybGF5IHRoYXQgYXBwbGllcyBhIHNldCBvZiBwYXRjaGVzIHRvIGEgcmVzb3VyY2UuXG5JdCB0YXJnZXRzIGEgcmVzb3VyY2UgYnkgaXRzIEFQSSB2ZXJzaW9uLCBraW5kLCBhbmQgbmFtZSwgYW5kIGFwcGxpZXNcbmEgbGlzdCBvZiBwYXRjaGVzIHRvIHRoaXMgcmVzb3VyY2UuXG5cbiMgRXhhbXBsZXNcblxuIyMgQWRkaW5nIGFuIGFubm90YXRpb24gdG8gYSByZXNvdXJjZVxuXG5cdGFwaVZlcnNpb246IHYxXG5cdGtpbmQ6IFNlcnZpY2VBY2NvdW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBtZXRhZGF0YS5hbm5vdGF0aW9ucy5la3NcXC5hbWF6b25hd3NcXC5jb20vcm9sZS1hcm5cblx0ICB2YWx1ZTogXCJcXFwiYXJuOmF3czppYW06MTIzNDpyb2xlXFxcIlwiXG5cbiMjIEFkZGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhIGRlcGxveW1lbnRcblxuXHRhcGlWZXJzaW9uOiBhcHBzL3YxXG5cdGtpbmQ6IERlcGxveW1lbnRcblx0bmFtZTogY2VudHJhbFxuXHRwYXRjaGVzOlxuXHQtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzW25hbWU6Y2VudHJhbF0uZW52Wy0xXVxuXHQgIHZhbHVlOiB8XG5cdCAgICBuYW1lOiBNWV9FTlZfVkFSXG5cdCAgICB2YWx1ZTogdmFsdWVcblxuIyMgQWRkaW5nIGFuIGluZ3Jlc3MgdG8gYSBuZXR3b3JrIHBvbGljeVxuXG5cdGFwaVZlcnNpb246IG5ldHdvcmtpbmcuazhzLmlvL3YxXG5cdGtpbmQ6IE5ldHdvcmtQb2xpY3lcblx0bmFtZTogYWxsb3ctZXh0LXRvLWNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBzcGVjLmluZ3Jlc3NbLTFdXG5cdCAgdmFsdWU6IHxcblx0ICAgIHBvcnRzOlxuXHQgICAgLSBwb3J0OiA5OTlcblx0ICAgICAgcHJvdG9jb2w6IFRDUFxuXG4jIyBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBDb25maWdNYXBcblxuXHRhcGlWZXJzaW9uOiB2MVxuXHRraW5kOiBDb25maWdNYXBcblx0bmFtZTogY2VudHJhbC1lbmRwb2ludHNcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBkYXRhLmVuZHBvaW50c1xcLnlhbWw6XG5cdCAgdmVyYmF0aW06IHxcblx0ICAgIGRpc2FibGVEZWZhdWx0OiBmYWxzZVxuXG4jIyBBZGRpbmcgYSBjb250YWluZXIgdG8gYSBkZXBsb3ltZW50XG5cblx0YXBpVmVyc2lvbjogYXBwcy92MVxuXHRraW5kOiBEZXBsb3ltZW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0ICAtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzWy0xXVxuXHQgICAgdmFsdWU6IHxcblx0ICAgICAgbmFtZTogbmdpbnhcblx0ICAgICAgaW1hZ2U6IG5naW54XG5cdCAgICAgIHBvcnRzOlxuXHQgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwMDBcblx0ICAgICAgICBuYW1lOiBodHRwXG5cdCAgICAgICAgcHJvdG9jb2w6IFRDUCIsInByb3BlcnRpZXMiOnsiYXBpVmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsInR5cGUiOiJzdHJpbmcifSwia2luZCI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIGtpbmQuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBvZiByZXNvdXJjZS4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwidHlwZSI6ImJvb2xlYW4ifSwicGF0Y2hlcyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2YgcGF0Y2hlcyB0byBhcHBseSB0byByZXNvdXJjZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Iks4c09iamVjdE92ZXJsYXlQYXRjaCBkZWZpbmVzIGEgcGF0Y2ggdG8gYXBwbHkgdG8gYSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmb3JtIGEuW2tleTE6dmFsdWUxXS5iLls6dmFsdWUyXVxuV2hlcmUgW2tleTE6dmFsdWUxXSBpcyBhIHNlbGVjdG9yIGZvciBhIGtleS12YWx1ZSBwYWlyIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGFuZCBbOnZhbHVlXSBpcyBhIHZhbHVlXG5zZWxlY3RvciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBpbiBhIGxlYWYgbGlzdC5cbkFsbCBwYXRoIGludGVybWVkaWF0ZSBub2RlcyBtdXN0IGV4aXN0LiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwidHlwZSI6InN0cmluZyJ9LCJ2ZXJiYXRpbSI6eyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJzY2FubmVyIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIGNvbXBvbmVudCwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcgb2YgY29udGFpbmVyXG5pbWFnZXMuIiwicHJvcGVydGllcyI6eyJhbmFseXplciI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGFuYWx5emVyIGRlcGxveW1lbnQsIHN1Y2ggYXMgZm9yIGF1dG9zY2FsaW5nLiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwic2NhbGluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbnRyb2xzIHRoZSBudW1iZXIgb2YgYW5hbHl6ZXIgcmVwbGljYXMgYW5kIGF1dG9zY2FsaW5nLiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImRiIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgZGF0YWJhc2UgdXNlZCBieSB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IFNjYW5uZXIuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgU2Nhbm5lci4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBTY2FubmVyLCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJwcm9wZXJ0aWVzIjp7ImV4cG9zZUVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwic2Nhbm5lckNvbXBvbmVudCI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSBkbyBub3Qgd2FudCB0byBkZXBsb3kgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLCB5b3UgY2FuIGRpc2FibGUgaXQgaGVyZVxuKG5vdCByZWNvbW1lbmRlZCkuIEJ5IGRlZmF1bHQsIHRoZSBzY2FubmVyIGlzIGVuYWJsZWQuXG5JZiB5b3UgZG8gc28sIGFsbCB0aGUgc2V0dGluZ3MgaW4gdGhpcyBzZWN0aW9uIHdpbGwgaGF2ZSBubyBlZmZlY3QuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FubmVyVjQiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50LCB3aGljaCBjYW4gcnVuIGluIGFkZGl0aW9uIHRvIHRoZSBwcmV2aW91c2x5IGV4aXN0aW5nIFNjYW5uZXIgY29tcG9uZW50cyIsInByb3BlcnRpZXMiOnsiZGIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBEQiBkZXBsb3ltZW50LiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicGVyc2lzdGVuY2UiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBTY2FubmVyIFY0IHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLlxuWW91IGNhbiB1c2UgYSBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAodGhlIHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhIGhvc3QgcGF0aCxcbm9yIGFuIGVtcHR5RGlyIHZvbHVtZSBpZiBTY2FubmVyIFY0IGlzIHJ1bm5pbmcgb24gYSBzZWN1cmVkIGNsdXN0ZXIgd2l0aG91dCBkZWZhdWx0IFN0b3JhZ2VDbGFzcy4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RQYXRoIjp7ImRlc2NyaXB0aW9uIjoiU3RvcmVzIHBlcnNpc3RlbnQgZGF0YSBpbiBhIGRpcmVjdG9yeSBvbiB0aGUgaG9zdC4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQsIGFuZCBzaG91bGQgb25seVxuYmUgdXNlZCB0b2dldGhlciB3aXRoIGEgbm9kZSBzZWxlY3RvciAob25seSBhdmFpbGFibGUgaW4gWUFNTCB2aWV3KS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJwZXJzaXN0ZW50Vm9sdW1lQ2xhaW0iOnsiZGVzY3JpcHRpb24iOiJVc2VzIGEgS3ViZXJuZXRlcyBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAoUFZDKSB0byBtYW5hZ2UgdGhlIHN0b3JhZ2UgbG9jYXRpb24gb2YgcGVyc2lzdGVudCBkYXRhLlxuUmVjb21tZW5kZWQgZm9yIG1vc3QgdXNlcnMuIiwicHJvcGVydGllcyI6eyJjbGFpbU5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgUFZDIHRvIG1hbmFnZSBwZXJzaXN0ZW50IGRhdGEuIElmIG5vIFBWQyB3aXRoIHRoZSBnaXZlbiBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZVxuY3JlYXRlZC5cblRoZSBkZWZhdWx0IGlzOiBzY2FubmVyLXY0LWRiLiIsInR5cGUiOiJzdHJpbmcifSwic2l6ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBzaXplIG9mIHRoZSBwZXJzaXN0ZW50IHZvbHVtZSB3aGVuIGNyZWF0ZWQgdGhyb3VnaCB0aGUgY2xhaW0uIElmIGEgY2xhaW0gd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCxcbnRoaXMgY2FuIGJlIHVzZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGVwbG95bWVudCB0byByZXNpemUgKGdyb3cpIHRoZSB2b2x1bWUgKG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWVcbnN0b3JhZ2UgY2xhc3MgY29udHJvbGxlcnMpLiIsInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsInR5cGUiOiJzdHJpbmcifSwic3RvcmFnZUNsYXNzTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIGNsYXNzIHRvIHVzZSBmb3IgdGhlIFBWQy4gSWYgeW91ciBjbHVzdGVyIGlzIG5vdCBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHN0b3JhZ2VcbmNsYXNzLCB5b3UgbXVzdCBzZWxlY3QgYSB2YWx1ZSBoZXJlLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImluZGV4ZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRleGVyIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sIm1hdGNoZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBtYXRjaGVyIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sIm1vbml0b3JpbmciOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIFNjYW5uZXIgVjQuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gU2Nhbm5lciBWNCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwicHJvcGVydGllcyI6eyJleHBvc2VFbmRwb2ludCI6eyJkZXNjcmlwdGlvbiI6IkV4cG9zZSB0aGUgbW9uaXRvcmluZyBlbmRwb2ludC4gQSBuZXcgc2VydmljZSwgXCJtb25pdG9yaW5nXCIsXG53aXRoIHBvcnQgOTA5MCwgd2lsbCBiZSBjcmVhdGVkIGFzIHdlbGwgYXMgYSBuZXR3b3JrIHBvbGljeSBhbGxvd2luZ1xuaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgcG9ydC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInNjYW5uZXJDb21wb25lbnQiOnsiZGVzY3JpcHRpb24iOiJDYW4gYmUgc3BlY2lmaWVkIGFzIFwiRW5hYmxlZFwiIG9yIFwiRGlzYWJsZWRcIi5cbklmIHRoaXMgZmllbGQgaXMgbm90IHNwZWNpZmllZCwgdGhlIGZvbGxvd2luZyBkZWZhdWx0aW5nIHRha2VzIHBsYWNlOlxuKiBmb3IgdXBncmFkZXMgdG8gNC44IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZDtcbiogZm9yIG5ldyBpbnN0YWxsYXRpb25zIHN0YXJ0aW5nIHdpdGggQUNTIDQuOCwgdGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZW51bSI6WyJEZWZhdWx0IiwiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidGxzIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRlZCB0byBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHksIHN1Y2ggYXMgQ2VydGlmaWNhdGUgQXV0aG9yaXRpZXMuIiwicHJvcGVydGllcyI6eyJhZGRpdGlvbmFsQ0FzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIHlvdSB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgdHJ1c3RlZCBSb290IENBcy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IkFkZGl0aW9uYWxDQSBkZWZpbmVzIGEgY2VydGlmaWNhdGUgZm9yIGFuIGFkZGl0aW9uYWwgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LiIsInByb3BlcnRpZXMiOnsiY29udGVudCI6eyJkZXNjcmlwdGlvbiI6IlBFTSBmb3JtYXQiLCJ0eXBlIjoic3RyaW5nIn0sIm5hbWUiOnsiZGVzY3JpcHRpb24iOiJNdXN0IGJlIGEgdmFsaWQgZmlsZSBiYXNlbmFtZSIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImNvbnRlbnQiLCJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInN0YXR1cyI6eyJkZXNjcmlwdGlvbiI6IkNlbnRyYWxTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgQ2VudHJhbC4iLCJwcm9wZXJ0aWVzIjp7ImNlbnRyYWwiOnsiZGVzY3JpcHRpb24iOiJDZW50cmFsQ29tcG9uZW50U3RhdHVzIGRlc2NyaWJlcyBzdGF0dXMgc3BlY2lmaWMgdG8gdGhlIGNlbnRyYWwgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYWRtaW5QYXNzd29yZCI6eyJkZXNjcmlwdGlvbiI6IkFkbWluUGFzc3dvcmQgc3RvcmVzIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIGF1dG8tZ2VuZXJhdGVkIGFkbWluIHBhc3N3b3JkLiIsInByb3BlcnRpZXMiOnsiYWRtaW5QYXNzd29yZFNlY3JldFJlZmVyZW5jZSI6eyJkZXNjcmlwdGlvbiI6IkFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UgY29udGFpbnMgcmVmZXJlbmNlIGZvciB0aGUgYWRtaW4gcGFzc3dvcmQiLCJ0eXBlIjoic3RyaW5nIn0sImluZm8iOnsiZGVzY3JpcHRpb24iOiJJbmZvIHN0b3JlcyBpbmZvcm1hdGlvbiBvbiBob3cgdG8gb2J0YWluIHRoZSBhZG1pbiBwYXNzd29yZC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImNvbmRpdGlvbnMiOnsiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJTdGFja1JveENvbmRpdGlvbiBkZWZpbmVzIGEgY29uZGl0aW9uIGZvciBhIFN0YWNrUm94IGN1c3RvbSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7Imxhc3RUcmFuc2l0aW9uVGltZSI6eyJmb3JtYXQiOiJkYXRlLXRpbWUiLCJ0eXBlIjoic3RyaW5nIn0sIm1lc3NhZ2UiOnsidHlwZSI6InN0cmluZyJ9LCJyZWFzb24iOnsiZGVzY3JpcHRpb24iOiJDb25kaXRpb25SZWFzb24gaXMgYSB0eXBlIG9mIHZhbHVlcyBvZiBjb25kaXRpb24gcmVhc29uLiIsInR5cGUiOiJzdHJpbmcifSwic3RhdHVzIjp7ImRlc2NyaXB0aW9uIjoiQ29uZGl0aW9uU3RhdHVzIGlzIGEgdHlwZSBvZiB2YWx1ZXMgb2YgY29uZGl0aW9uIHN0YXR1cy4iLCJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOnsiZGVzY3JpcHRpb24iOiJDb25kaXRpb25UeXBlIGlzIGEgdHlwZSBvZiB2YWx1ZXMgb2YgY29uZGl0aW9uIHR5cGUuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsic3RhdHVzIiwidHlwZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJkZXBsb3llZFJlbGVhc2UiOnsiZGVzY3JpcHRpb24iOiJTdGFja1JveFJlbGVhc2UgZGVzY3JpYmVzIHRoZSBIZWxtIFwicmVsZWFzZVwiIHRoYXQgd2FzIG1vc3QgcmVjZW50bHkgYXBwbGllZC4iLCJwcm9wZXJ0aWVzIjp7InZlcnNpb24iOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJvYnNlcnZlZEdlbmVyYXRpb24iOnsiZGVzY3JpcHRpb24iOiJPYnNlcnZlZEdlbmVyYXRpb24gaXMgdGhlIGdlbmVyYXRpb24gbW9zdCByZWNlbnRseSBvYnNlcnZlZCBieSB0aGUgY29udHJvbGxlci4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInByb2R1Y3RWZXJzaW9uIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlcGxveWVkIHZlcnNpb24gb2YgdGhlIHByb2R1Y3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiY29uZGl0aW9ucyJdLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJzZXJ2ZWQiOnRydWUsInN0b3JhZ2UiOnRydWUsInN1YnJlc291cmNlcyI6eyJzdGF0dXMiOnt9fX1dfSwic3RhdHVzIjp7ImFjY2VwdGVkTmFtZXMiOnsia2luZCI6IiIsInBsdXJhbCI6IiJ9LCJjb25kaXRpb25zIjpudWxsLCJzdG9yZWRWZXJzaW9ucyI6bnVsbH19" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoic2VjdXJlZGNsdXN0ZXJzLnBsYXRmb3JtLnN0YWNrcm94LmlvIn0sInNwZWMiOnsiZ3JvdXAiOiJwbGF0Zm9ybS5zdGFja3JveC5pbyIsIm5hbWVzIjp7ImtpbmQiOiJTZWN1cmVkQ2x1c3RlciIsImxpc3RLaW5kIjoiU2VjdXJlZENsdXN0ZXJMaXN0IiwicGx1cmFsIjoic2VjdXJlZGNsdXN0ZXJzIiwic2luZ3VsYXIiOiJzZWN1cmVkY2x1c3RlciJ9LCJzY29wZSI6Ik5hbWVzcGFjZWQiLCJ2ZXJzaW9ucyI6W3siYWRkaXRpb25hbFByaW50ZXJDb2x1bW5zIjpbeyJqc29uUGF0aCI6Ii5zdGF0dXMucHJvZHVjdFZlcnNpb24iLCJuYW1lIjoiVmVyc2lvbiIsInR5cGUiOiJzdHJpbmcifSx7Impzb25QYXRoIjoiLnN0YXR1cy5jb25kaXRpb25zWz8oQC50eXBlPT1cIkRlcGxveWVkXCIpXS5tZXNzYWdlIiwibmFtZSI6Ik1lc3NhZ2UiLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY29uZGl0aW9uc1s/KEAudHlwZT09XCJQcm9ncmVzc2luZ1wiKV0uc3RhdHVzIiwibmFtZSI6IlByb2dyZXNzaW5nIiwidHlwZSI6InN0cmluZyJ9LHsianNvblBhdGgiOiIuc3RhdHVzLmNvbmRpdGlvbnNbPyhALnR5cGU9PVwiQXZhaWxhYmxlXCIpXS5zdGF0dXMiLCJuYW1lIjoiQXZhaWxhYmxlIiwidHlwZSI6InN0cmluZyJ9XSwibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IlNlY3VyZWRDbHVzdGVyIGlzIHRoZSBjb25maWd1cmF0aW9uIHRlbXBsYXRlIGZvciB0aGUgc2VjdXJlZCBjbHVzdGVyIHNlcnZpY2VzLiBUaGVzZSBpbmNsdWRlIFNlbnNvciwgd2hpY2ggaXNcbnJlc3BvbnNpYmxlIGZvciB0aGUgY29ubmVjdGlvbiB0byBDZW50cmFsLCBhbmQgQ29sbGVjdG9yLCB3aGljaCBwZXJmb3JtcyBob3N0LWxldmVsIGNvbGxlY3Rpb24gb2YgcHJvY2VzcyBhbmRcbm5ldHdvcmsgZXZlbnRzLlx1MDAzY3BcdTAwM2VcbioqSW1wb3J0YW50OioqIFBsZWFzZSBzZWUgdGhlIF9JbnN0YWxsYXRpb24gUHJlcmVxdWlzaXRlc18gb24gdGhlIG1haW4gUkhBQ1Mgb3BlcmF0b3IgcGFnZSBiZWZvcmUgZGVwbG95aW5nLCBvclxuY29uc3VsdCB0aGUgUkhBQ1MgZG9jdW1lbnRhdGlvbiBvbiBjcmVhdGluZyBjbHVzdGVyIGluaXQgYnVuZGxlcy4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cmVkQ2x1c3RlclNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIHN0YXRlIG9mIGEgc2VjdXJlZCBjbHVzdGVyLiIsInByb3BlcnRpZXMiOnsiYWRtaXNzaW9uQ29udHJvbCI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgQWRtaXNzaW9uIENvbnRyb2wgY29tcG9uZW50LCB3aGljaCBpcyBuZWNlc3NhcnkgZm9yIHByZXZlbnRpdmUgcG9saWN5IGVuZm9yY2VtZW50LFxuYW5kIGZvciBLdWJlcm5ldGVzIGV2ZW50IG1vbml0b3JpbmcuIiwicHJvcGVydGllcyI6eyJieXBhc3MiOnsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRlYW1zIHRvIGJ5cGFzcyBhZG1pc3Npb24gY29udHJvbCBpbiBhIG1vbml0b3JlZCBtYW5uZXIgaW4gdGhlIGV2ZW50IG9mIGFuIGVtZXJnZW5jeS5cblRoZSBkZWZhdWx0IGlzOiBCcmVha0dsYXNzQW5ub3RhdGlvbi4iLCJlbnVtIjpbIkJyZWFrR2xhc3NBbm5vdGF0aW9uIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJjb250YWN0SW1hZ2VTY2FubmVycyI6eyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZW51bSI6WyJTY2FuSWZNaXNzaW5nIiwiRG9Ob3RTY2FuSW5saW5lIl0sInR5cGUiOiJzdHJpbmcifSwiZW5mb3JjZW1lbnQiOnsiZGVzY3JpcHRpb24iOiJTZXQgdG8gRGlzYWJsZWQgdG8gZGlzYWJsZSBwb2xpY3kgZW5mb3JjZW1lbnQgZm9yIHRoZSBhZG1pc3Npb24gY29udHJvbGxlci4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuXG5PbiB1cGdyYWRlcyB0byA0LjkgZnJvbSBwcmV2aW91cyByZWxlYXNlcywgZGVmYXVsdHMgdG8gRW5hYmxlZCBvbmx5IGlmIGF0IGxlYXN0IG9uZSBvZiBsaXN0ZW5PbkNyZWF0ZXMgb3IgbGlzdGVuT25VcGRhdGVzIGlzIHRydWUuXG5PbiBuZXcgZGVwbG95bWVudHMgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDQuOSwgdGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJmYWlsdXJlUG9saWN5Ijp7ImRlc2NyaXB0aW9uIjoiSWYgc2V0IHRvIFwiRmFpbFwiLCB0aGUgYWRtaXNzaW9uIGNvbnRyb2xsZXIncyB3ZWJob29rcyBhcmUgY29uZmlndXJlZCB0byBmYWlsLWNsb3NlZCBpbiBjYXNlIGFkbWlzc2lvbiBjb250cm9sbGVyXG5mYWlscyB0byByZXNwb25kIGluIHRpbWUuIEEgZmFpbHVyZSBwb2xpY3kgXCJJZ25vcmVcIiBjb25maWd1cmVzIHRoZSB3ZWJob29rcyB0byBmYWlsLW9wZW4uXG5UaGUgZGVmYXVsdCBpczogSWdub3JlLiIsImVudW0iOlsiSWdub3JlIiwiRmFpbCJdLCJ0eXBlIjoic3RyaW5nIn0sImhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJsaXN0ZW5PbkNyZWF0ZXMiOnsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sImxpc3Rlbk9uRXZlbnRzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJsaXN0ZW5PblVwZGF0ZXMiOnsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgbnVtYmVyIG9mIHJlcGxpY2FzIG9mIHRoZSBhZG1pc3Npb24gY29udHJvbCBwb2QuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRpbWVvdXRTZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJmb3JtYXQiOiJpbnQzMiIsInR5cGUiOiJpbnRlZ2VyIn0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJhdWRpdExvZ3MiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGluZyB0byB0aGUgaW5nZXN0aW9uIG9mIEt1YmVybmV0ZXMgYXVkaXQgbG9ncy4iLCJwcm9wZXJ0aWVzIjp7ImNvbGxlY3Rpb24iOnsiZGVzY3JpcHRpb24iOiJXaGV0aGVyIGNvbGxlY3Rpb24gb2YgS3ViZXJuZXRlcyBhdWRpdCBsb2dzIHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiBDdXJyZW50bHksIHRoaXMgaXMgb25seVxuc3VwcG9ydGVkIG9uIE9wZW5TaGlmdCA0LCBhbmQgdHJ5aW5nIHRvIGVuYWJsZSBpdCBvbiBub24tT3BlblNoaWZ0IDQgY2x1c3RlcnMgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3IuXG5Vc2UgdGhlICdBdXRvJyBzZXR0aW5nIHRvIGVuYWJsZSBpdCBvbiBjb21wYXRpYmxlIGVudmlyb25tZW50cywgYW5kIGRpc2FibGUgaXQgZWxzZXdoZXJlLlxuVGhlIGRlZmF1bHQgaXM6IEF1dG8uIiwiZW51bSI6WyJBdXRvIiwiRGlzYWJsZWQiLCJFbmFibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwiY2VudHJhbEVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiVGhlIGVuZHBvaW50IG9mIHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgQ2VudHJhbCBpbnN0YW5jZSB0byBjb25uZWN0IHRvLFxuaW5jbHVkaW5nIHRoZSBwb3J0IG51bWJlci4gSWYgbm8gcG9ydCBpcyBzcGVjaWZpZWQgYW5kIHRoZSBlbmRwb2ludCBjb250YWlucyBhbiBodHRwczovL1xucHJvdG9jb2wgc3BlY2lmaWNhdGlvbiwgdGhlbiB0aGUgcG9ydCA0NDMgaXMgaW1wbGljaXRseSBhc3N1bWVkLlxuSWYgdXNpbmcgYSBub24tZ1JQQyBjYXBhYmxlIGxvYWQgYmFsYW5jZXIsIHVzZSB0aGUgV2ViU29ja2V0IHByb3RvY29sIGJ5IHByZWZpeGluZyB0aGUgZW5kcG9pbnRcbmFkZHJlc3Mgd2l0aCB3c3M6Ly8uXG5Ob3RlOiB3aGVuIGxlYXZpbmcgdGhpcyBibGFuaywgU2Vuc29yIHdpbGwgYXR0ZW1wdCB0byBjb25uZWN0IHRvIGEgQ2VudHJhbCBpbnN0YW5jZSBydW5uaW5nIGluIHRoZSBzYW1lXG5uYW1lc3BhY2UuIiwidHlwZSI6InN0cmluZyJ9LCJjbHVzdGVyTGFiZWxzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJDdXN0b20gbGFiZWxzIGFzc29jaWF0ZWQgd2l0aCBhIHNlY3VyZWQgY2x1c3RlciBpbiBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkuIiwidHlwZSI6Im9iamVjdCJ9LCJjbHVzdGVyTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSB1bmlxdWUgbmFtZSBvZiB0aGlzIGNsdXN0ZXIsIGFzIGl0IHdpbGwgYmUgc2hvd24gaW4gdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBVSS5cbk5vdGU6IE9uY2UgYSBuYW1lIGlzIHNldCBoZXJlLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBjaGFuZ2UgaXQgYWdhaW4uIFlvdSB3aWxsIG5lZWQgdG8gZGVsZXRlXG5hbmQgcmUtY3JlYXRlIHRoaXMgb2JqZWN0IGluIG9yZGVyIHRvIHJlZ2lzdGVyIGEgY2x1c3RlciB3aXRoIGEgbmV3IG5hbWUuIiwidHlwZSI6InN0cmluZyJ9LCJjdXN0b21pemUiOnsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgU2VjdXJlZCBDbHVzdGVyIFNlcnZpY2VzIGNvbXBvbmVudHMuIiwicHJvcGVydGllcyI6eyJhbm5vdGF0aW9ucyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGFubm90YXRpb25zIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsInR5cGUiOiJvYmplY3QifSwiZGVwbG95bWVudERlZmF1bHRzIjp7ImRlc2NyaXB0aW9uIjoiR2xvYmFsIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgZm9yIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gRGFlbW9uU2V0cyAoQ29sbGVjdG9yKSBhcmUgbm90IGFmZmVjdGVkLlxuQ29tcG9uZW50LWxldmVsIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgc2V0dGluZ3Mgb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdHMgb24gYSBmaWVsZC1ieS1maWVsZCBiYXNpcy4iLCJwcm9wZXJ0aWVzIjp7Im5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiRGVmYXVsdCBub2RlU2VsZWN0b3IgYXBwbGllZCB0byBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBVc2UgdGhpcyBmb3IgY3VzdG9tIG5vZGVcbnNlbGVjdGlvbiBjcml0ZXJpYS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJ0eXBlIjoib2JqZWN0In0sInBpblRvTm9kZXMiOnsiZGVzY3JpcHRpb24iOiJQaW4gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cyB0byBzcGVjaWZpYyBub2RlIHR5cGVzLiBUaGlzIGlzIGEgY29udmVuaWVuY2Ugc2V0dGluZ1xudGhhdCBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZXMgYm90aCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHdpdGggcHJlZGVmaW5lZCB2YWx1ZXMuXG5Vc2UgdGhpcyBmb3IgY29tbW9uIHNjZW5hcmlvcyBsaWtlIHJ1bm5pbmcgb24gT3BlblNoaWZ0IGluZnJhc3RydWN0dXJlIG5vZGVzLlxuRm9yIGN1c3RvbSBub2RlIHNlbGVjdGlvbiwgdXNlIHRoZSBleHBsaWNpdCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZpZWxkcyBpbnN0ZWFkLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBub2RlU2VsZWN0b3Igb3IgdG9sZXJhdGlvbnMgZmllbGRzLlxuVGhlIGRlZmF1bHQgaXM6IE5vbmUuIiwiZW51bSI6WyJOb25lIiwiSW5mcmFSb2xlIl0sInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IHRvbGVyYXRpb25zIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgd2hlbiB5b3VyIHRhcmdldFxubm9kZXMgaGF2ZSBjdXN0b20gdGFpbnRzIHRoYXQgcG9kcyBtdXN0IHRvbGVyYXRlLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImVudlZhcnMiOnsiZGVzY3JpcHRpb24iOiJDdXN0b20gZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBvbiBtYW5hZ2VkIHBvZHMnIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJFbnZWYXIgcmVwcmVzZW50cyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBwcmVzZW50IGluIGEgQ29udGFpbmVyLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLlxuTWF5IGNvbnNpc3Qgb2YgYW55IHByaW50YWJsZSBBU0NJSSBjaGFyYWN0ZXJzIGV4Y2VwdCAnPScuIiwidHlwZSI6InN0cmluZyJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhcmlhYmxlIHJlZmVyZW5jZXMgJChWQVJfTkFNRSkgYXJlIGV4cGFuZGVkXG51c2luZyB0aGUgcHJldmlvdXNseSBkZWZpbmVkIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGUgY29udGFpbmVyIGFuZFxuYW55IHNlcnZpY2UgZW52aXJvbm1lbnQgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlIGNhbm5vdCBiZSByZXNvbHZlZCxcbnRoZSByZWZlcmVuY2UgaW4gdGhlIGlucHV0IHN0cmluZyB3aWxsIGJlIHVuY2hhbmdlZC4gRG91YmxlICQkIGFyZSByZWR1Y2VkXG50byBhIHNpbmdsZSAkLCB3aGljaCBhbGxvd3MgZm9yIGVzY2FwaW5nIHRoZSAkKFZBUl9OQU1FKSBzeW50YXg6IGkuZS5cblwiJCQoVkFSX05BTUUpXCIgd2lsbCBwcm9kdWNlIHRoZSBzdHJpbmcgbGl0ZXJhbCBcIiQoVkFSX05BTUUpXCIuXG5Fc2NhcGVkIHJlZmVyZW5jZXMgd2lsbCBuZXZlciBiZSBleHBhbmRlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSB2YXJpYWJsZVxuZXhpc3RzIG9yIG5vdC5cbkRlZmF1bHRzIHRvIFwiXCIuIiwidHlwZSI6InN0cmluZyJ9LCJ2YWx1ZUZyb20iOnsiZGVzY3JpcHRpb24iOiJTb3VyY2UgZm9yIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSdzIHZhbHVlLiBDYW5ub3QgYmUgdXNlZCBpZiB2YWx1ZSBpcyBub3QgZW1wdHkuIiwicHJvcGVydGllcyI6eyJjb25maWdNYXBLZXlSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEga2V5IG9mIGEgQ29uZmlnTWFwLiIsInByb3BlcnRpZXMiOnsia2V5Ijp7ImRlc2NyaXB0aW9uIjoiVGhlIGtleSB0byBzZWxlY3QuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlZmF1bHQiOiIiLCJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIHJlZmVyZW50LlxuVGhpcyBmaWVsZCBpcyBlZmZlY3RpdmVseSByZXF1aXJlZCwgYnV0IGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBpc1xuYWxsb3dlZCB0byBiZSBlbXB0eS4gSW5zdGFuY2VzIG9mIHRoaXMgdHlwZSB3aXRoIGFuIGVtcHR5IHZhbHVlIGhlcmUgYXJlXG5hbG1vc3QgY2VydGFpbmx5IHdyb25nLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy93b3JraW5nLXdpdGgtb2JqZWN0cy9uYW1lcy8jbmFtZXMiLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSB3aGV0aGVyIHRoZSBDb25maWdNYXAgb3IgaXRzIGtleSBtdXN0IGJlIGRlZmluZWQiLCJ0eXBlIjoiYm9vbGVhbiJ9fSwicmVxdWlyZWQiOlsia2V5Il0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwiZmllbGRSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEgZmllbGQgb2YgdGhlIHBvZDogc3VwcG9ydHMgbWV0YWRhdGEubmFtZSwgbWV0YWRhdGEubmFtZXNwYWNlLCBgbWV0YWRhdGEubGFiZWxzWydcdTAwM2NLRVlcdTAwM2UnXWAsIGBtZXRhZGF0YS5hbm5vdGF0aW9uc1snXHUwMDNjS0VZXHUwMDNlJ11gLFxuc3BlYy5ub2RlTmFtZSwgc3BlYy5zZXJ2aWNlQWNjb3VudE5hbWUsIHN0YXR1cy5ob3N0SVAsIHN0YXR1cy5wb2RJUCwgc3RhdHVzLnBvZElQcy4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJWZXJzaW9uIG9mIHRoZSBzY2hlbWEgdGhlIEZpZWxkUGF0aCBpcyB3cml0dGVuIGluIHRlcm1zIG9mLCBkZWZhdWx0cyB0byBcInYxXCIuIiwidHlwZSI6InN0cmluZyJ9LCJmaWVsZFBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmaWVsZCB0byBzZWxlY3QgaW4gdGhlIHNwZWNpZmllZCBBUEkgdmVyc2lvbi4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJmaWVsZFBhdGgiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9LCJmaWxlS2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiRmlsZUtleVJlZiBzZWxlY3RzIGEga2V5IG9mIHRoZSBlbnYgZmlsZS5cblJlcXVpcmVzIHRoZSBFbnZGaWxlcyBmZWF0dXJlIGdhdGUgdG8gYmUgZW5hYmxlZC4iLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgd2l0aGluIHRoZSBlbnYgZmlsZS4gQW4gaW52YWxpZCBrZXkgd2lsbCBwcmV2ZW50IHRoZSBwb2QgZnJvbSBzdGFydGluZy5cblRoZSBrZXlzIGRlZmluZWQgd2l0aGluIGEgc291cmNlIG1heSBjb25zaXN0IG9mIGFueSBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVycyBleGNlcHQgJz0nLlxuRHVyaW5nIEFscGhhIHN0YWdlIG9mIHRoZSBFbnZGaWxlcyBmZWF0dXJlIGdhdGUsIHRoZSBrZXkgc2l6ZSBpcyBsaW1pdGVkIHRvIDEyOCBjaGFyYWN0ZXJzLiIsInR5cGUiOiJzdHJpbmcifSwib3B0aW9uYWwiOnsiZGVmYXVsdCI6ZmFsc2UsImRlc2NyaXB0aW9uIjoiU3BlY2lmeSB3aGV0aGVyIHRoZSBmaWxlIG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkLiBJZiB0aGUgZmlsZSBvciBrZXlcbmRvZXMgbm90IGV4aXN0LCB0aGVuIHRoZSBlbnYgdmFyIGlzIG5vdCBwdWJsaXNoZWQuXG5JZiBvcHRpb25hbCBpcyBzZXQgdG8gdHJ1ZSBhbmQgdGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QsXG50aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBub3QgYmUgc2V0IGluIHRoZSBQb2QncyBjb250YWluZXJzLlxuXG5JZiBvcHRpb25hbCBpcyBzZXQgdG8gZmFsc2UgYW5kIHRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LFxuYW4gZXJyb3Igd2lsbCBiZSByZXR1cm5lZCBkdXJpbmcgUG9kIGNyZWF0aW9uLiIsInR5cGUiOiJib29sZWFuIn0sInBhdGgiOnsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCB3aXRoaW4gdGhlIHZvbHVtZSBmcm9tIHdoaWNoIHRvIHNlbGVjdCB0aGUgZmlsZS5cbk11c3QgYmUgcmVsYXRpdmUgYW5kIG1heSBub3QgY29udGFpbiB0aGUgJy4uJyBwYXRoIG9yIHN0YXJ0IHdpdGggJy4uJy4iLCJ0eXBlIjoic3RyaW5nIn0sInZvbHVtZU5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgdm9sdW1lIG1vdW50IGNvbnRhaW5pbmcgdGhlIGVudiBmaWxlLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImtleSIsInBhdGgiLCJ2b2x1bWVOYW1lIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwicmVzb3VyY2VGaWVsZFJlZiI6eyJkZXNjcmlwdGlvbiI6IlNlbGVjdHMgYSByZXNvdXJjZSBvZiB0aGUgY29udGFpbmVyOiBvbmx5IHJlc291cmNlcyBsaW1pdHMgYW5kIHJlcXVlc3RzXG4obGltaXRzLmNwdSwgbGltaXRzLm1lbW9yeSwgbGltaXRzLmVwaGVtZXJhbC1zdG9yYWdlLCByZXF1ZXN0cy5jcHUsIHJlcXVlc3RzLm1lbW9yeSBhbmQgcmVxdWVzdHMuZXBoZW1lcmFsLXN0b3JhZ2UpIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLiIsInByb3BlcnRpZXMiOnsiY29udGFpbmVyTmFtZSI6eyJkZXNjcmlwdGlvbiI6IkNvbnRhaW5lciBuYW1lOiByZXF1aXJlZCBmb3Igdm9sdW1lcywgb3B0aW9uYWwgZm9yIGVudiB2YXJzIiwidHlwZSI6InN0cmluZyJ9LCJkaXZpc29yIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwiZGVzY3JpcHRpb24iOiJTcGVjaWZpZXMgdGhlIG91dHB1dCBmb3JtYXQgb2YgdGhlIGV4cG9zZWQgcmVzb3VyY2VzLCBkZWZhdWx0cyB0byBcIjFcIiIsInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwicmVzb3VyY2UiOnsiZGVzY3JpcHRpb24iOiJSZXF1aXJlZDogcmVzb3VyY2UgdG8gc2VsZWN0IiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsicmVzb3VyY2UiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9LCJzZWNyZXRLZXlSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEga2V5IG9mIGEgc2VjcmV0IGluIHRoZSBwb2QncyBuYW1lc3BhY2UiLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgb2YgdGhlIHNlY3JldCB0byBzZWxlY3QgZnJvbS4gIE11c3QgYmUgYSB2YWxpZCBzZWNyZXQga2V5LiIsInR5cGUiOiJzdHJpbmcifSwibmFtZSI6eyJkZWZhdWx0IjoiIiwiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSByZWZlcmVudC5cblRoaXMgZmllbGQgaXMgZWZmZWN0aXZlbHkgcmVxdWlyZWQsIGJ1dCBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXNcbmFsbG93ZWQgdG8gYmUgZW1wdHkuIEluc3RhbmNlcyBvZiB0aGlzIHR5cGUgd2l0aCBhbiBlbXB0eSB2YWx1ZSBoZXJlIGFyZVxuYWxtb3N0IGNlcnRhaW5seSB3cm9uZy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvbmFtZXMvI25hbWVzIiwidHlwZSI6InN0cmluZyJ9LCJvcHRpb25hbCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgU2VjcmV0IG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImtleSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn19LCJ0eXBlIjoib2JqZWN0In19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sImxhYmVscyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGxhYmVscyB0byBzZXQgb24gYWxsIG1hbmFnZWQgb2JqZWN0cy4iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImltYWdlUHVsbFNlY3JldHMiOnsiZGVzY3JpcHRpb24iOiJBZGRpdGlvbmFsIGltYWdlIHB1bGwgc2VjcmV0cyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHB1bGxpbmcgaW1hZ2VzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiTG9jYWxTZWNyZXRSZWZlcmVuY2UgaXMgYSByZWZlcmVuY2UgdG8gYSBzZWNyZXQgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXNjIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cbk1pc2NlbGxhbmVvdXMgc2V0dGluZ3MuIiwicHJvcGVydGllcyI6eyJjcmVhdGVTQ0NzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwidHlwZSI6ImJvb2xlYW4ifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6Ik1vbml0b3JpbmcgY29uZmlndXJhdGlvbi4iLCJwcm9wZXJ0aWVzIjp7Im9wZW5zaGlmdCI6eyJkZXNjcmlwdGlvbiI6Ik9wZW5TaGlmdE1vbml0b3JpbmcgZGVmaW5lcyBzZXR0aW5ncyByZWxhdGVkIHRvIE9wZW5TaGlmdCBNb25pdG9yaW5nIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImVuYWJsZWQiXSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuZXR3b3JrIjp7ImRlc2NyaXB0aW9uIjoiTmV0d29yayBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsicG9saWNpZXMiOnsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwib3ZlcmxheXMiOnsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSzhzT2JqZWN0T3ZlcmxheSBpcyBhbiBvdmVybGF5IHRoYXQgYXBwbGllcyBhIHNldCBvZiBwYXRjaGVzIHRvIGEgcmVzb3VyY2UuXG5JdCB0YXJnZXRzIGEgcmVzb3VyY2UgYnkgaXRzIEFQSSB2ZXJzaW9uLCBraW5kLCBhbmQgbmFtZSwgYW5kIGFwcGxpZXNcbmEgbGlzdCBvZiBwYXRjaGVzIHRvIHRoaXMgcmVzb3VyY2UuXG5cbiMgRXhhbXBsZXNcblxuIyMgQWRkaW5nIGFuIGFubm90YXRpb24gdG8gYSByZXNvdXJjZVxuXG5cdGFwaVZlcnNpb246IHYxXG5cdGtpbmQ6IFNlcnZpY2VBY2NvdW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBtZXRhZGF0YS5hbm5vdGF0aW9ucy5la3NcXC5hbWF6b25hd3NcXC5jb20vcm9sZS1hcm5cblx0ICB2YWx1ZTogXCJcXFwiYXJuOmF3czppYW06MTIzNDpyb2xlXFxcIlwiXG5cbiMjIEFkZGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhIGRlcGxveW1lbnRcblxuXHRhcGlWZXJzaW9uOiBhcHBzL3YxXG5cdGtpbmQ6IERlcGxveW1lbnRcblx0bmFtZTogY2VudHJhbFxuXHRwYXRjaGVzOlxuXHQtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzW25hbWU6Y2VudHJhbF0uZW52Wy0xXVxuXHQgIHZhbHVlOiB8XG5cdCAgICBuYW1lOiBNWV9FTlZfVkFSXG5cdCAgICB2YWx1ZTogdmFsdWVcblxuIyMgQWRkaW5nIGFuIGluZ3Jlc3MgdG8gYSBuZXR3b3JrIHBvbGljeVxuXG5cdGFwaVZlcnNpb246IG5ldHdvcmtpbmcuazhzLmlvL3YxXG5cdGtpbmQ6IE5ldHdvcmtQb2xpY3lcblx0bmFtZTogYWxsb3ctZXh0LXRvLWNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBzcGVjLmluZ3Jlc3NbLTFdXG5cdCAgdmFsdWU6IHxcblx0ICAgIHBvcnRzOlxuXHQgICAgLSBwb3J0OiA5OTlcblx0ICAgICAgcHJvdG9jb2w6IFRDUFxuXG4jIyBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBDb25maWdNYXBcblxuXHRhcGlWZXJzaW9uOiB2MVxuXHRraW5kOiBDb25maWdNYXBcblx0bmFtZTogY2VudHJhbC1lbmRwb2ludHNcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBkYXRhLmVuZHBvaW50c1xcLnlhbWw6XG5cdCAgdmVyYmF0aW06IHxcblx0ICAgIGRpc2FibGVEZWZhdWx0OiBmYWxzZVxuXG4jIyBBZGRpbmcgYSBjb250YWluZXIgdG8gYSBkZXBsb3ltZW50XG5cblx0YXBpVmVyc2lvbjogYXBwcy92MVxuXHRraW5kOiBEZXBsb3ltZW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0ICAtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzWy0xXVxuXHQgICAgdmFsdWU6IHxcblx0ICAgICAgbmFtZTogbmdpbnhcblx0ICAgICAgaW1hZ2U6IG5naW54XG5cdCAgICAgIHBvcnRzOlxuXHQgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwMDBcblx0ICAgICAgICBuYW1lOiBodHRwXG5cdCAgICAgICAgcHJvdG9jb2w6IFRDUCIsInByb3BlcnRpZXMiOnsiYXBpVmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsInR5cGUiOiJzdHJpbmcifSwia2luZCI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIGtpbmQuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBvZiByZXNvdXJjZS4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwidHlwZSI6ImJvb2xlYW4ifSwicGF0Y2hlcyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2YgcGF0Y2hlcyB0byBhcHBseSB0byByZXNvdXJjZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Iks4c09iamVjdE92ZXJsYXlQYXRjaCBkZWZpbmVzIGEgcGF0Y2ggdG8gYXBwbHkgdG8gYSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmb3JtIGEuW2tleTE6dmFsdWUxXS5iLls6dmFsdWUyXVxuV2hlcmUgW2tleTE6dmFsdWUxXSBpcyBhIHNlbGVjdG9yIGZvciBhIGtleS12YWx1ZSBwYWlyIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGFuZCBbOnZhbHVlXSBpcyBhIHZhbHVlXG5zZWxlY3RvciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBpbiBhIGxlYWYgbGlzdC5cbkFsbCBwYXRoIGludGVybWVkaWF0ZSBub2RlcyBtdXN0IGV4aXN0LiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwidHlwZSI6InN0cmluZyJ9LCJ2ZXJiYXRpbSI6eyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJwZXJOb2RlIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBjb21wb25lbnRzIHJ1bm5pbmcgb24gZWFjaCBub2RlIGluIHRoZSBjbHVzdGVyIChDb2xsZWN0b3IgYW5kIENvbXBsaWFuY2UpLiIsInByb3BlcnRpZXMiOnsiY29sbGVjdG9yIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBDb2xsZWN0b3IgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgY29sbGVjdGluZyBwcm9jZXNzIGFuZCBuZXR3b3JraW5nXG5hY3Rpdml0eSBhdCB0aGUgaG9zdCBsZXZlbC4iLCJwcm9wZXJ0aWVzIjp7ImNvbGxlY3Rpb24iOnsiZGVzY3JpcHRpb24iOiJUaGUgbWV0aG9kIGZvciBzeXN0ZW0tbGV2ZWwgZGF0YSBjb2xsZWN0aW9uLiBDT1JFX0JQRiBpcyByZWNvbW1lbmRlZC5cbklmIHlvdSBzZWxlY3QgXCJOb0NvbGxlY3Rpb25cIiwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gc2VlIGFueSBpbmZvcm1hdGlvbiBhYm91dCBuZXR3b3JrIGFjdGl2aXR5XG5hbmQgcHJvY2VzcyBleGVjdXRpb25zLiBUaGUgcmVtYWluaW5nIHNldHRpbmdzIGluIHRoaXMgc2VjdGlvbiB3aWxsIG5vdCBoYXZlIGFueSBlZmZlY3QuXG5UaGUgdmFsdWUgaXMgYSBzdWJqZWN0IG9mIGNvbnZlcnNpb24gYnkgdGhlIG9wZXJhdG9yIGlmIG5lZWRlZCwgZS5nLiB0b1xucmVtb3ZlIGRlcHJlY2F0ZWQgbWV0aG9kcy5cblRoZSBkZWZhdWx0IGlzOiBDT1JFX0JQRi4iLCJlbnVtIjpbIkVCUEYiLCJDT1JFX0JQRiIsIk5vQ29sbGVjdGlvbiIsIktlcm5lbE1vZHVsZSJdLCJ0eXBlIjoic3RyaW5nIn0sImZvcmNlQ29sbGVjdGlvbiI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sImltYWdlRmxhdm9yIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgZmllbGQuIiwiZW51bSI6WyJSZWd1bGFyIiwiU2xpbSJdLCJ0eXBlIjoic3RyaW5nIn0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImNvbXBsaWFuY2UiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENvbXBsaWFuY2UgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgaG9zdC1sZXZlbCBjb25maWd1cmF0aW9ucy4iLCJwcm9wZXJ0aWVzIjp7InJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlSW52ZW50b3J5Ijp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBOb2RlLUludmVudG9yeSBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBzY2FubmluZyB0aGUgTm9kZXMnIGZpbGVzeXN0ZW0uIiwicHJvcGVydGllcyI6eyJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzZmEiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNlbnNpdGl2ZSBGaWxlIEFjdGl2aXR5IGNvbnRhaW5lciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGZpbGUgYWN0aXZpdHkgbW9uaXRvcmluZyBvbiB0aGUgTm9kZS4iLCJwcm9wZXJ0aWVzIjp7ImFnZW50Ijp7ImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHdoZXRoZXIgU2Vuc2l0aXZlIEZpbGUgQWN0aXZpdHkgYWdlbnQgaXMgZGVwbG95ZWQuXG5UaGUgZGVmYXVsdCBpczogRGlzYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0YWludFRvbGVyYXRpb24iOnsiZGVzY3JpcHRpb24iOiJUbyBlbnN1cmUgY29tcHJlaGVuc2l2ZSBtb25pdG9yaW5nIG9mIHlvdXIgY2x1c3RlciBhY3Rpdml0eSwgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5XG53aWxsIHJ1biBzZXJ2aWNlcyBvbiBldmVyeSBub2RlIGluIHRoZSBjbHVzdGVyLCBpbmNsdWRpbmcgdGFpbnRlZCBub2RlcyBieSBkZWZhdWx0LiBJZiB5b3UgZG9cbm5vdCB3YW50IHRoaXMgYmVoYXZpb3IsIHBsZWFzZSBzZWxlY3QgJ0F2b2lkVGFpbnRzJyBoZXJlLlxuVGhlIGRlZmF1bHQgaXM6IFRvbGVyYXRlVGFpbnRzLiIsImVudW0iOlsiVG9sZXJhdGVUYWludHMiLCJBdm9pZFRhaW50cyJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInByb2Nlc3NCYXNlbGluZXMiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGluZyB0byBwcm9jZXNzIGJhc2VsaW5lcy4iLCJwcm9wZXJ0aWVzIjp7ImF1dG9Mb2NrIjp7ImRlc2NyaXB0aW9uIjoiU2hvdWxkIHByb2Nlc3MgYmFzZWxpbmVzIGJlIGF1dG9tYXRpY2FsbHkgbG9ja2VkIHdoZW4gdGhlIG9ic2VydmF0aW9uIHBlcmlvZCAoMSBob3VyIGJ5IGRlZmF1bHQpIGVuZHMuXG5UaGUgZGVmYXVsdCBpczogRGlzYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJyZWdpc3RyeU92ZXJyaWRlIjp7ImRlc2NyaXB0aW9uIjoiU2V0IHRoaXMgcGFyYW1ldGVyIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJlZ2lzdHJ5IGluIGltYWdlcy4gRm9yIGV4YW1wbGUsIG5naW54OmxhdGVzdCAtXHUwMDNlIFx1MDAzY3JlZ2lzdHJ5IG92ZXJyaWRlXHUwMDNlL2xpYnJhcnkvbmdpbng6bGF0ZXN0IiwidHlwZSI6InN0cmluZyJ9LCJzY2FubmVyIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIGNvbXBvbmVudCwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcgb2YgY29udGFpbmVyXG5pbWFnZXMgc3RvcmVkIGluIGEgY2x1c3Rlci1sb2NhbCBpbWFnZSByZXBvc2l0b3J5LiIsInByb3BlcnRpZXMiOnsiYW5hbHl6ZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBhbmFseXplciBkZXBsb3ltZW50LCBzdWNoIGFzIGZvciBhdXRvc2NhbGluZy4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInNjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJDb250cm9scyB0aGUgbnVtYmVyIG9mIGFuYWx5emVyIHJlcGxpY2FzIGFuZCBhdXRvc2NhbGluZy4iLCJwcm9wZXJ0aWVzIjp7ImF1dG9TY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiV2hlbiBlbmFibGVkLCB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudCByZXBsaWNhcyBpcyBtYW5hZ2VkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBsb2FkLCB3aXRoaW4gdGhlIGxpbWl0c1xuc3BlY2lmaWVkIGJlbG93LlxuVGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJtYXhSZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiA1LiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwibWluUmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogMi4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sInJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiV2hlbiBhdXRvc2NhbGluZyBpcyBkaXNhYmxlZCwgdGhlIG51bWJlciBvZiByZXBsaWNhcyB3aWxsIGFsd2F5cyBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoaXMgdmFsdWUuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJkYiI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGRhdGFiYXNlIHVzZWQgYnkgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInNjYW5uZXJDb21wb25lbnQiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3UgZG8gbm90IHdhbnQgdG8gZGVwbG95IHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgU2Nhbm5lciwgeW91IGNhbiBkaXNhYmxlIGl0IGhlcmVcbihub3QgcmVjb21tZW5kZWQpLlxuSWYgeW91IGRvIHNvLCBhbGwgdGhlIHNldHRpbmdzIGluIHRoaXMgc2VjdGlvbiB3aWxsIGhhdmUgbm8gZWZmZWN0LlxuVGhlIGRlZmF1bHQgaXM6IEF1dG9TZW5zZS4iLCJlbnVtIjpbIkF1dG9TZW5zZSIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwic2Nhbm5lclY0Ijp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIFY0IGNvbXBvbmVudHMsIHdoaWNoIGNhbiBydW4gaW4gYWRkaXRpb24gdG8gdGhlIHByZXZpb3VzbHkgZXhpc3RpbmcgU2Nhbm5lciBjb21wb25lbnRzIiwicHJvcGVydGllcyI6eyJkYiI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIERCIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJwZXJzaXN0ZW5jZSI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgaG93IFNjYW5uZXIgVjQgc2hvdWxkIHN0b3JlIGl0cyBwZXJzaXN0ZW50IGRhdGEuXG5Zb3UgY2FuIHVzZSBhIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltICh0aGUgcmVjb21tZW5kZWQgZGVmYXVsdCksIGEgaG9zdCBwYXRoLFxub3IgYW4gZW1wdHlEaXIgdm9sdW1lIGlmIFNjYW5uZXIgVjQgaXMgcnVubmluZyBvbiBhIHNlY3VyZWQgY2x1c3RlciB3aXRob3V0IGRlZmF1bHQgU3RvcmFnZUNsYXNzLiIsInByb3BlcnRpZXMiOnsiaG9zdFBhdGgiOnsiZGVzY3JpcHRpb24iOiJTdG9yZXMgcGVyc2lzdGVudCBkYXRhIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBob3N0LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIHNob3VsZCBvbmx5XG5iZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSBub2RlIHNlbGVjdG9yIChvbmx5IGF2YWlsYWJsZSBpbiBZQU1MIHZpZXcpLiIsInByb3BlcnRpZXMiOnsicGF0aCI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbnRWb2x1bWVDbGFpbSI6eyJkZXNjcmlwdGlvbiI6IlVzZXMgYSBLdWJlcm5ldGVzIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIChQVkMpIHRvIG1hbmFnZSB0aGUgc3RvcmFnZSBsb2NhdGlvbiBvZiBwZXJzaXN0ZW50IGRhdGEuXG5SZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IHNjYW5uZXItdjQtZGIuIiwidHlwZSI6InN0cmluZyJ9LCJzaXplIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHNpemUgb2YgdGhlIHBlcnNpc3RlbnQgdm9sdW1lIHdoZW4gY3JlYXRlZCB0aHJvdWdoIHRoZSBjbGFpbS4gSWYgYSBjbGFpbSB3YXMgYXV0b21hdGljYWxseSBjcmVhdGVkLFxudGhpcyBjYW4gYmUgdXNlZCBhZnRlciB0aGUgaW5pdGlhbCBkZXBsb3ltZW50IHRvIHJlc2l6ZSAoZ3JvdykgdGhlIHZvbHVtZSAob25seSBzdXBwb3J0ZWQgYnkgc29tZVxuc3RvcmFnZSBjbGFzcyBjb250cm9sbGVycykuIiwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwidHlwZSI6InN0cmluZyJ9LCJzdG9yYWdlQ2xhc3NOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwiaW5kZXhlciI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGluZGV4ZXIgZGVwbG95bWVudC4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInNjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJDb250cm9scyB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIGFuZCBhdXRvc2NhbGluZyBmb3IgdGhpcyBjb21wb25lbnQuIiwicHJvcGVydGllcyI6eyJhdXRvU2NhbGluZyI6eyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifSwibWF4UmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNS4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sIm1pblJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDIuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJyZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgU2Nhbm5lciBWNC4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBTY2FubmVyIFY0LCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJwcm9wZXJ0aWVzIjp7ImV4cG9zZUVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwic2Nhbm5lckNvbXBvbmVudCI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRvIGVuYWJsZSB0aGUgU2Nhbm5lciBWNCBjb21wb25lbnQgc2V0IHRoaXMgdG8gXCJBdXRvU2Vuc2VcIi5cbkEgdmFsdWUgb2YgXCJBdXRvU2Vuc2VcIiBtZWFucyB0aGF0IFNjYW5uZXIgVjQgc2hvdWxkIGJlIGluc3RhbGxlZCxcbnVubGVzcyB0aGVyZSBpcyBhIENlbnRyYWwgcmVzb3VyY2UgaW4gdGhlIHNhbWUgbmFtZXNwYWNlLlxuSW4gdGhhdCBjYXNlIHR5cGljYWxseSBhIGNlbnRyYWwgU2Nhbm5lciBWNCB3aWxsIGJlIGRlcGxveWVkIGFzIGEgY29tcG9uZW50IG9mIENlbnRyYWwuXG5BIHZhbHVlIG9mIFwiRGlzYWJsZWRcIiBtZWFucyB0aGF0IFNjYW5uZXIgVjQgc2hvdWxkIG5vdCBiZSBpbnN0YWxsZWQuXG5JZiB0aGlzIGZpZWxkIGlzIG5vdCBzcGVjaWZpZWQgb3Igc2V0IHRvIFwiRGVmYXVsdFwiLCB0aGUgZm9sbG93aW5nIGRlZmF1bHRpbmcgdGFrZXMgcGxhY2U6XG4qIGZvciB1cGdyYWRlcyB0byA0LjggZnJvbSBwcmV2aW91cyByZWxlYXNlcywgdGhlIGRlZmF1bHQgaXM6IERpc2FibGVkO1xuKiBmb3IgbmV3IGluc3RhbGxhdGlvbnMgc3RhcnRpbmcgd2l0aCBBQ1MgNC44LCB0aGUgZGVmYXVsdCBpczogQXV0b1NlbnNlLiIsImVudW0iOlsiRGVmYXVsdCIsIkF1dG9TZW5zZSIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwic2Vuc29yIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTZW5zb3IgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInRscyI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHJlbGF0ZWQgdG8gVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5LCBzdWNoIGFzIENlcnRpZmljYXRlIEF1dGhvcml0aWVzLiIsInByb3BlcnRpZXMiOnsiYWRkaXRpb25hbENBcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyB5b3UgdG8gc3BlY2lmeSBhZGRpdGlvbmFsIHRydXN0ZWQgUm9vdCBDQXMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJBZGRpdGlvbmFsQ0EgZGVmaW5lcyBhIGNlcnRpZmljYXRlIGZvciBhbiBhZGRpdGlvbmFsIENlcnRpZmljYXRlIEF1dGhvcml0eS4iLCJwcm9wZXJ0aWVzIjp7ImNvbnRlbnQiOnsiZGVzY3JpcHRpb24iOiJQRU0gZm9ybWF0IiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTXVzdCBiZSBhIHZhbGlkIGZpbGUgYmFzZW5hbWUiLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJjb250ZW50IiwibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsiY2x1c3Rlck5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJzdGF0dXMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cmVkQ2x1c3RlclN0YXR1cyBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZiBTZWN1cmVkQ2x1c3RlciIsInByb3BlcnRpZXMiOnsiY2x1c3Rlck5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgYXNzaWduZWQgY2x1c3RlciBuYW1lIHBlciB0aGUgc3BlYy4gVGhpcyBjYW5ub3QgYmUgY2hhbmdlZCBhZnRlcndhcmRzLiBJZiB5b3UgbmVlZCB0byBjaGFuZ2UgdGhlXG5jbHVzdGVyIG5hbWUsIHBsZWFzZSBkZWxldGUgYW5kIHJlY3JlYXRlIHRoaXMgcmVzb3VyY2UuIiwidHlwZSI6InN0cmluZyJ9LCJjb25kaXRpb25zIjp7Iml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiU3RhY2tSb3hDb25kaXRpb24gZGVmaW5lcyBhIGNvbmRpdGlvbiBmb3IgYSBTdGFja1JveCBjdXN0b20gcmVzb3VyY2UuIiwicHJvcGVydGllcyI6eyJsYXN0VHJhbnNpdGlvblRpbWUiOnsiZm9ybWF0IjoiZGF0ZS10aW1lIiwidHlwZSI6InN0cmluZyJ9LCJtZXNzYWdlIjp7InR5cGUiOiJzdHJpbmcifSwicmVhc29uIjp7ImRlc2NyaXB0aW9uIjoiQ29uZGl0aW9uUmVhc29uIGlzIGEgdHlwZSBvZiB2YWx1ZXMgb2YgY29uZGl0aW9uIHJlYXNvbi4iLCJ0eXBlIjoic3RyaW5nIn0sInN0YXR1cyI6eyJkZXNjcmlwdGlvbiI6IkNvbmRpdGlvblN0YXR1cyBpcyBhIHR5cGUgb2YgdmFsdWVzIG9mIGNvbmRpdGlvbiBzdGF0dXMuIiwidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjp7ImRlc2NyaXB0aW9uIjoiQ29uZGl0aW9uVHlwZSBpcyBhIHR5cGUgb2YgdmFsdWVzIG9mIGNvbmRpdGlvbiB0eXBlLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbInN0YXR1cyIsInR5cGUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwiZGVwbG95ZWRSZWxlYXNlIjp7ImRlc2NyaXB0aW9uIjoiU3RhY2tSb3hSZWxlYXNlIGRlc2NyaWJlcyB0aGUgSGVsbSBcInJlbGVhc2VcIiB0aGF0IHdhcyBtb3N0IHJlY2VudGx5IGFwcGxpZWQuIiwicHJvcGVydGllcyI6eyJ2ZXJzaW9uIjp7InR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwib2JzZXJ2ZWRHZW5lcmF0aW9uIjp7ImRlc2NyaXB0aW9uIjoiT2JzZXJ2ZWRHZW5lcmF0aW9uIGlzIHRoZSBnZW5lcmF0aW9uIG1vc3QgcmVjZW50bHkgb2JzZXJ2ZWQgYnkgdGhlIGNvbnRyb2xsZXIuIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJwcm9kdWN0VmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZXBsb3llZCB2ZXJzaW9uIG9mIHRoZSBwcm9kdWN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImNvbmRpdGlvbnMiXSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwic2VydmVkIjp0cnVlLCJzdG9yYWdlIjp0cnVlLCJzdWJyZXNvdXJjZXMiOnsic3RhdHVzIjp7fX19XX0sInN0YXR1cyI6eyJhY2NlcHRlZE5hbWVzIjp7ImtpbmQiOiIiLCJwbHVyYWwiOiIifSwiY29uZGl0aW9ucyI6bnVsbCwic3RvcmVkVmVyc2lvbnMiOm51bGx9fQ==" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoic2VjdXJpdHlwb2xpY2llcy5jb25maWcuc3RhY2tyb3guaW8ifSwic3BlYyI6eyJncm91cCI6ImNvbmZpZy5zdGFja3JveC5pbyIsIm5hbWVzIjp7ImtpbmQiOiJTZWN1cml0eVBvbGljeSIsImxpc3RLaW5kIjoiU2VjdXJpdHlQb2xpY3lMaXN0IiwicGx1cmFsIjoic2VjdXJpdHlwb2xpY2llcyIsInNob3J0TmFtZXMiOlsic3AiXSwic2luZ3VsYXIiOiJzZWN1cml0eXBvbGljeSJ9LCJzY29wZSI6Ik5hbWVzcGFjZWQiLCJ2ZXJzaW9ucyI6W3sibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IlNlY3VyaXR5UG9saWN5IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBwb2xpY2llcyBBUEkiLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cml0eVBvbGljeVNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTZWN1cml0eVBvbGljeSIsInByb3BlcnRpZXMiOnsiY2F0ZWdvcmllcyI6eyJkZXNjcmlwdGlvbiI6IkNhdGVnb3JpZXMgaXMgYSBsaXN0IG9mIGNhdGVnb3JpZXMgdGhhdCB0aGlzIHBvbGljeSBmYWxscyB1bmRlci4gIENhdGVnb3J5IG5hbWVzIG11c3QgYWxyZWFkeSBleGlzdCBpbiBDZW50cmFsLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwibWluSXRlbXMiOjEsInR5cGUiOiJhcnJheSJ9LCJjcml0ZXJpYUxvY2tlZCI6eyJkZXNjcmlwdGlvbiI6IkNyaXRlcmlhTG9ja2VkIGlzIHVudXNlZCBhbmQgZGVwcmVjYXRlZCIsInR5cGUiOiJib29sZWFuIn0sImRlc2NyaXB0aW9uIjp7ImRlc2NyaXB0aW9uIjoiRGVzY3JpcHRpb24gaXMgYSBmcmVlLWZvcm0gdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGlzIHBvbGljeS4iLCJwYXR0ZXJuIjoiXlteXFwkXXswLDgwMH0kIiwidHlwZSI6InN0cmluZyJ9LCJkaXNhYmxlZCI6eyJkZXNjcmlwdGlvbiI6IkRpc2FibGVkIHRvZ2dsZXMgd2hldGhlciBvciBub3QgdGhpcyBwb2xpY3kgd2lsbCBiZSBleGVjdXRpbmcgYW5kIGFjdGl2ZWx5IGZpcmluZyBhbGVydHMuIiwidHlwZSI6ImJvb2xlYW4ifSwiZW5mb3JjZW1lbnRBY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiRW5mb3JjZW1lbnQgbGlzdHMgdGhlIGVuZm9yY2VtZW50IGFjdGlvbnMgdG8gdGFrZSB3aGVuIGEgdmlvbGF0aW9uIGZyb20gdGhpcyBwb2xpY3kgaXMgaWRlbnRpZmllZC4gIFBvc3NpYmxlIHZhbHVlIGFyZSBVTlNFVF9FTkZPUkNFTUVOVCwgU0NBTEVfVE9fWkVST19FTkZPUkNFTUVOVCwgVU5TQVRJU0ZJQUJMRV9OT0RFX0NPTlNUUkFJTlRfRU5GT1JDRU1FTlQsIEtJTExfUE9EX0VORk9SQ0VNRU5ULCBGQUlMX0JVSUxEX0VORk9SQ0VNRU5ULCBGQUlMX0tVQkVfUkVRVUVTVF9FTkZPUkNFTUVOVCwgRkFJTF9ERVBMT1lNRU5UX0NSRUFURV9FTkZPUkNFTUVOVCwgYW5kLiBGQUlMX0RFUExPWU1FTlRfVVBEQVRFX0VORk9SQ0VNRU5ULiIsIml0ZW1zIjp7ImVudW0iOlsiVU5TRVRfRU5GT1JDRU1FTlQiLCJTQ0FMRV9UT19aRVJPX0VORk9SQ0VNRU5UIiwiVU5TQVRJU0ZJQUJMRV9OT0RFX0NPTlNUUkFJTlRfRU5GT1JDRU1FTlQiLCJLSUxMX1BPRF9FTkZPUkNFTUVOVCIsIkZBSUxfQlVJTERfRU5GT1JDRU1FTlQiLCJGQUlMX0tVQkVfUkVRVUVTVF9FTkZPUkNFTUVOVCIsIkZBSUxfREVQTE9ZTUVOVF9DUkVBVEVfRU5GT1JDRU1FTlQiLCJGQUlMX0RFUExPWU1FTlRfVVBEQVRFX0VORk9SQ0VNRU5UIl0sInR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5In0sImV2ZW50U291cmNlIjp7ImRlc2NyaXB0aW9uIjoiRXZlbnRTb3VyY2UgZGVzY3JpYmVzIHdoaWNoIGV2ZW50cyBzaG91bGQgdHJpZ2dlciBleGVjdXRpb24gb2YgdGhpcyBwb2xpY3kiLCJlbnVtIjpbIk5PVF9BUFBMSUNBQkxFIiwiREVQTE9ZTUVOVF9FVkVOVCIsIkFVRElUX0xPR19FVkVOVCJdLCJ0eXBlIjoic3RyaW5nIn0sImV4Y2x1c2lvbnMiOnsiZGVzY3JpcHRpb24iOiJFeGNsdXNpb25zIGRlZmluZSBkZXBsb3ltZW50cyBvciBpbWFnZXMgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGlzIHBvbGljeS4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImRlcGxveW1lbnQiOnsicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifSwic2NvcGUiOnsicHJvcGVydGllcyI6eyJjbHVzdGVyIjp7ImRlc2NyaXB0aW9uIjoiQ2x1c3RlciBpcyBlaXRoZXIgdGhlIG5hbWUgb3IgdGhlIElEIG9mIHRoZSBjbHVzdGVyIHRoYXQgdGhpcyBzY29wZSBhcHBsaWVzIHRvIiwidHlwZSI6InN0cmluZyJ9LCJsYWJlbCI6eyJwcm9wZXJ0aWVzIjp7ImtleSI6eyJ0eXBlIjoic3RyaW5nIn0sInZhbHVlIjp7InR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwibmFtZXNwYWNlIjp7InR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwiZXhwaXJhdGlvbiI6eyJmb3JtYXQiOiJkYXRlLXRpbWUiLCJ0eXBlIjoic3RyaW5nIn0sImltYWdlIjp7InByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sIm5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwiaXNEZWZhdWx0Ijp7ImRlc2NyaXB0aW9uIjoiSXNEZWZhdWx0IGlzIHVudXNlZCIsInR5cGUiOiJib29sZWFuIn0sImxpZmVjeWNsZVN0YWdlcyI6eyJkZXNjcmlwdGlvbiI6IkxpZmVjeWNsZVN0YWdlcyBkZXNjcmliZXMgd2hpY2ggcG9saWN5IGxpZmVjeWxjZSBzdGFnZXMgdGhpcyBwb2xpY3kgYXBwbGllcyB0by4gIENob2ljZXMgYXJlIERFUExPWSwgQlVJTEQsIGFuZCBSVU5USU1FLiIsIml0ZW1zIjp7ImVudW0iOlsiREVQTE9ZIiwiQlVJTEQiLCJSVU5USU1FIl0sInR5cGUiOiJzdHJpbmcifSwibWluSXRlbXMiOjEsInR5cGUiOiJhcnJheSJ9LCJtaXRyZUF0dGFja1ZlY3RvcnMiOnsiaXRlbXMiOnsicHJvcGVydGllcyI6eyJ0YWN0aWMiOnsidHlwZSI6InN0cmluZyJ9LCJ0ZWNobmlxdWVzIjp7Iml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXRyZVZlY3RvcnNMb2NrZWQiOnsiZGVzY3JpcHRpb24iOiJNaXRyZVZldG9yc0xvY2tlZCBpcyB1bnVzZWQgYW5kIGRlcHJlY2F0ZWQiLCJ0eXBlIjoiYm9vbGVhbiJ9LCJub3RpZmllcnMiOnsiZGVzY3JpcHRpb24iOiJOb3RpZmllcnMgaXMgYSBsaXN0IG9mIElEcyBvciBuYW1lcyBvZiB0aGUgbm90aWZpZXJzIHRoYXQgc2hvdWxkIGJlIHRyaWdnZXJlZCB3aGVuIGEgdmlvbGF0aW9uIGZyb20gdGhpcyBwb2xpY3kgaXMgaWRlbnRpZmllZC4gIElEcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBVVUlEIGFuZCBhcmUgZm91bmQgdGhyb3VnaCB0aGUgQ2VudHJhbCBBUEkuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkifSwicG9saWN5TmFtZSI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeU5hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHBvbGljeSBhcyBpdCBhcHBlYXJzIGluIHRoZSBBUEkgYW5kIFVJLiAgTm90ZSB0aGF0IGNoYW5naW5nIHRoaXMgdmFsdWUgd2lsbCByZW5hbWUgdGhlIHBvbGljeSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiAgVGhpcyBmaWVsZCBtdXN0IGJlIHVuaXF1ZS4iLCJwYXR0ZXJuIjoiXlteXFxuXFxyXFwkXXs1LDEyOH0kIiwidHlwZSI6InN0cmluZyJ9LCJwb2xpY3lTZWN0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeVNlY3Rpb25zIGRlZmluZSB0aGUgdmlvbGF0aW9uIGNyaXRlcmlhIGZvciB0aGlzIHBvbGljeS4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7InBvbGljeUdyb3VwcyI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeUdyb3VwcyBpcyB0aGUgc2V0IG9mIHBvbGljaWVzIGdyb3VwcyB0aGF0IG1ha2UgdXAgdGhpcyBzZWN0aW9uLiAgRWFjaCBncm91cCBjYW4gYmUgY29uc2lkZXJlZCBhbiBpbmRpdmlkdWFsIGNyaXRlcmlvbi4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImJvb2xlYW5PcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6IkJvb2xlYW5PcGVyYXRvciBkZXRlcm1pbmVzIGlmIHRoZSB2YWx1ZXMgYXJlIGNvbWJpbmVkIHdpdGggYW4gT1Igb3IgYW4gQU5ELiAgRGVmYXVsdHMgdG8gT1IuIiwiZW51bSI6WyJPUiIsIkFORCJdLCJ0eXBlIjoic3RyaW5nIn0sImZpZWxkTmFtZSI6eyJkZXNjcmlwdGlvbiI6IkZpZWxkTmFtZSBkZWZpbmVzIHdoaWNoIGZpZWxkIG9uIGEgZGVwbG95bWVudCBvciBpbWFnZSB0aGlzIFBvbGljeUdyb3VwIGV2YWx1YXRlcy4gIFNlZSBodHRwczovL2RvY3Mub3BlbnNoaWZ0LmNvbS9hY3Mvb3BlcmF0aW5nL21hbmFnZS1zZWN1cml0eS1wb2xpY2llcy5odG1sI3BvbGljeS1jcml0ZXJpYV9tYW5hZ2Utc2VjdXJpdHktcG9saWNpZXMgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBwb3NzaWJsZSB2YWx1ZXMuIiwidHlwZSI6InN0cmluZyJ9LCJuZWdhdGUiOnsiZGVzY3JpcHRpb24iOiJOZWdhdGUgZGV0ZXJtaW5lcyBpZiB0aGUgZXZhbHVhdGlvbiBvZiB0aGlzIFBvbGljeUdyb3VwIGlzIG5lZ2F0ZWQuICBEZWZhdWx0IHRvIGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sInZhbHVlcyI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlcyBpcyB0aGUgbGlzdCBvZiB2YWx1ZXMgZm9yIHRoZSBzcGVjaWZpZWQgZmllbGQiLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7InZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgc2ltcGx5IHRoZSBzdHJpbmcgdmFsdWUiLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwicmVxdWlyZWQiOlsiZmllbGROYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sInNlY3Rpb25OYW1lIjp7ImRlc2NyaXB0aW9uIjoiU2VjdGlvbk5hbWUgaXMgYSB1c2VyLWZyaWVuZGx5IG5hbWUgZm9yIHRoaXMgc2VjdGlvbiBvZiBwb2xpY2llcyIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbInBvbGljeUdyb3VwcyJdLCJ0eXBlIjoib2JqZWN0In0sIm1pbkl0ZW1zIjoxLCJ0eXBlIjoiYXJyYXkifSwicmF0aW9uYWxlIjp7InR5cGUiOiJzdHJpbmcifSwicmVtZWRpYXRpb24iOnsiZGVzY3JpcHRpb24iOiJSZW1lZGlhdGlvbiBkZXNjcmliZXMgaG93IHRvIHJlbWVkaWF0ZSBhIHZpb2xhdGlvbiBvZiB0aGlzIHBvbGljeS4iLCJ0eXBlIjoic3RyaW5nIn0sInNjb3BlIjp7ImRlc2NyaXB0aW9uIjoiU2NvcGUgZGVmaW5lcyBjbHVzdGVycywgbmFtZXNwYWNlcywgYW5kIGRlcGxveW1lbnRzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoaXMgcG9saWN5LiAgTm8gc2NvcGVzIGRlZmluZWQgaW5jbHVkZXMgZXZlcnl0aGluZy4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImNsdXN0ZXIiOnsiZGVzY3JpcHRpb24iOiJDbHVzdGVyIGlzIGVpdGhlciB0aGUgbmFtZSBvciB0aGUgSUQgb2YgdGhlIGNsdXN0ZXIgdGhhdCB0aGlzIHNjb3BlIGFwcGxpZXMgdG8iLCJ0eXBlIjoic3RyaW5nIn0sImxhYmVsIjp7InByb3BlcnRpZXMiOnsia2V5Ijp7InR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuYW1lc3BhY2UiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwic2V2ZXJpdHkiOnsiZGVzY3JpcHRpb24iOiJTZXZlcml0eSBkZWZpbmVzIGhvdyBzZXZlcmUgYSB2aW9sYXRpb24gZnJvbSB0aGlzIHBvbGljeSBpcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgVU5TRVRfU0VWRVJJVFksIExPV19TRVZFUklUWSwgTUVESVVNX1NFVkVSSVRZLCBISUdIX1NFVkVSSVRZLCBhbmQgQ1JJVElDQUxfU0VWRVJJVFkuIiwiZW51bSI6WyJVTlNFVF9TRVZFUklUWSIsIkxPV19TRVZFUklUWSIsIk1FRElVTV9TRVZFUklUWSIsIkhJR0hfU0VWRVJJVFkiLCJDUklUSUNBTF9TRVZFUklUWSJdLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJjYXRlZ29yaWVzIiwibGlmZWN5Y2xlU3RhZ2VzIiwicG9saWN5TmFtZSIsInBvbGljeVNlY3Rpb25zIiwic2V2ZXJpdHkiXSwidHlwZSI6Im9iamVjdCJ9LCJzdGF0dXMiOnsicHJvcGVydGllcyI6eyJhY2NlcHRlZCI6eyJkZXNjcmlwdGlvbiI6IkFjY2VwdGVkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgY29uZGl0aW9ucyIsInR5cGUiOiJib29sZWFuIn0sImNvbmRpdGlvbnMiOnsiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cml0eVBvbGljeUNvbmRpdGlvbiBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZiBTZWN1cml0eVBvbGljeSIsInByb3BlcnRpZXMiOnsibGFzdFRyYW5zaXRpb25UaW1lIjp7ImZvcm1hdCI6ImRhdGUtdGltZSIsInR5cGUiOiJzdHJpbmcifSwibWVzc2FnZSI6eyJ0eXBlIjoic3RyaW5nIn0sInN0YXR1cyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibWVzc2FnZSI6eyJkZXNjcmlwdGlvbiI6Ik1lc3NhZ2UgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBjb25kaXRpb25zIiwidHlwZSI6InN0cmluZyJ9LCJwb2xpY3lJZCI6eyJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJzZXJ2ZWQiOnRydWUsInN0b3JhZ2UiOnRydWUsInN1YnJlc291cmNlcyI6eyJzdGF0dXMiOnt9fX1dfSwic3RhdHVzIjp7ImFjY2VwdGVkTmFtZXMiOnsia2luZCI6IiIsInBsdXJhbCI6IiJ9LCJjb25kaXRpb25zIjpudWxsLCJzdG9yZWRWZXJzaW9ucyI6bnVsbH19" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoib3BlcmF0b3JzLmNvcmVvcy5jb20vdjFhbHBoYTEiLCJraW5kIjoiQ2x1c3RlclNlcnZpY2VWZXJzaW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiYWxtLWV4YW1wbGVzIjoiW1xuICB7XG4gICAgXCJhcGlWZXJzaW9uXCI6IFwicGxhdGZvcm0uc3RhY2tyb3guaW8vdjFhbHBoYTFcIixcbiAgICBcImtpbmRcIjogXCJDZW50cmFsXCIsXG4gICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICBcIm5hbWVcIjogXCJzdGFja3JveC1jZW50cmFsLXNlcnZpY2VzXCIsXG4gICAgICBcIm5hbWVzcGFjZVwiOiBcInN0YWNrcm94XCJcbiAgICB9LFxuICAgIFwic3BlY1wiOiB7XG4gICAgICBcImNlbnRyYWxcIjoge1xuICAgICAgICBcImV4cG9zdXJlXCI6IHtcbiAgICAgICAgICBcInJvdXRlXCI6IHtcbiAgICAgICAgICAgIFwiZW5hYmxlZFwiOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICB7XG4gICAgXCJhcGlWZXJzaW9uXCI6IFwicGxhdGZvcm0uc3RhY2tyb3guaW8vdjFhbHBoYTFcIixcbiAgICBcImtpbmRcIjogXCJTZWN1cmVkQ2x1c3RlclwiLFxuICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgXCJuYW1lXCI6IFwic3RhY2tyb3gtc2VjdXJlZC1jbHVzdGVyLXNlcnZpY2VzXCIsXG4gICAgICBcIm5hbWVzcGFjZVwiOiBcInN0YWNrcm94XCJcbiAgICB9LFxuICAgIFwic3BlY1wiOiB7XG4gICAgICBcImNsdXN0ZXJOYW1lXCI6IFwibXktY2x1c3RlclwiXG4gICAgfVxuICB9XG5dIiwiY2FwYWJpbGl0aWVzIjoiU2VhbWxlc3MgVXBncmFkZXMiLCJjYXRlZ29yaWVzIjoiU2VjdXJpdHkiLCJjb25zb2xlLm9wZW5zaGlmdC5pby9wbHVnaW5zIjoiW1wiYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eVwiXSIsImNvbnRhaW5lckltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtcmhlbDgtb3BlcmF0b3JAc2hhMjU2OjZhYTBkNWQ3YmMxNDg5ZGQ3MzgwNWNhNmNkMDFmNGQ4MTNlOWJjZGI5ZmQyMGU3NThhMDMwNDQ5NDgzNDRlMDAiLCJjcmVhdGVkQXQiOiIyMDI2LTAxLTMwVDEwOjQ4OjEwLjAxNjA5MyswMDowMCIsImRlc2NyaXB0aW9uIjoiUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IChSSEFDUykgb3BlcmF0b3IgcHJvdmlzaW9ucyB0aGUgc2VydmljZXMgbmVjZXNzYXJ5IHRvIHNlY3VyZSBlYWNoIG9mIHlvdXIgT3BlblNoaWZ0IGFuZCBLdWJlcm5ldGVzIGNsdXN0ZXJzLiIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vY25mIjoiZmFsc2UiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL2NuaSI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby9jc2kiOiJmYWxzZSIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vZGlzY29ubmVjdGVkIjoidHJ1ZSIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vZmlwcy1jb21wbGlhbnQiOiJ0cnVlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby9wcm94eS1hd2FyZSI6InRydWUiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3Rscy1wcm9maWxlcyI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby90b2tlbi1hdXRoLWF3cyI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby90b2tlbi1hdXRoLWF6dXJlIjoiZmFsc2UiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3Rva2VuLWF1dGgtZ2NwIjoiZmFsc2UiLCJvbG0uc2tpcFJhbmdlIjoiXHUwMDNlPSA0LjEwLjAgXHUwMDNjIDQuMTEuMC00LWdkNWRiNjBkMGQ4LWZhc3QiLCJvcGVyYXRvcmZyYW1ld29yay5pby9zdWdnZXN0ZWQtbmFtZXNwYWNlIjoicmhhY3Mtb3BlcmF0b3IiLCJvcGVyYXRvcnMub3BlbnNoaWZ0LmlvL2luZnJhc3RydWN0dXJlLWZlYXR1cmVzIjoiW1wiZGlzY29ubmVjdGVkXCIsIFwicHJveHktYXdhcmVcIl0iLCJvcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3ZhbGlkLXN1YnNjcmlwdGlvbiI6IltcIk9wZW5TaGlmdCBQbGF0Zm9ybSBQbHVzXCIsIFwiUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5XCJdIiwib3BlcmF0b3JzLm9wZXJhdG9yZnJhbWV3b3JrLmlvL2J1aWxkZXIiOiJvcGVyYXRvci1zZGstdW5rbm93biIsIm9wZXJhdG9ycy5vcGVyYXRvcmZyYW1ld29yay5pby9wcm9qZWN0X2xheW91dCI6ImdvLmt1YmVidWlsZGVyLmlvL3Y0Iiwic3VwcG9ydCI6IlJlZCBIYXQifSwibGFiZWxzIjp7Im9wZXJhdG9yZnJhbWV3b3JrLmlvL2FyY2guYW1kNjQiOiJzdXBwb3J0ZWQiLCJvcGVyYXRvcmZyYW1ld29yay5pby9hcmNoLmFybTY0Ijoic3VwcG9ydGVkIiwib3BlcmF0b3JmcmFtZXdvcmsuaW8vYXJjaC5wcGM2NGxlIjoic3VwcG9ydGVkIiwib3BlcmF0b3JmcmFtZXdvcmsuaW8vYXJjaC5zMzkweCI6InN1cHBvcnRlZCJ9LCJuYW1lIjoicmhhY3Mtb3BlcmF0b3IudjQuMTEuMC00LWdkNWRiNjBkMGQ4LWZhc3QiLCJuYW1lc3BhY2UiOiJwbGFjZWhvbGRlciJ9LCJzcGVjIjp7ImFwaXNlcnZpY2VkZWZpbml0aW9ucyI6e30sImN1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMiOnsib3duZWQiOlt7ImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBpcyB0aGUgY29uZmlndXJhdGlvbiB0ZW1wbGF0ZSBmb3IgdGhlIGNlbnRyYWwgc2VydmljZXMuIFRoaXMgaW5jbHVkZXMgdGhlIEFQSSBzZXJ2ZXIsIHBlcnNpc3RlbnQgc3RvcmFnZSxcbmFuZCB0aGUgd2ViIFVJLCBhcyB3ZWxsIGFzIHRoZSBpbWFnZSBzY2FubmVyLiIsImRpc3BsYXlOYW1lIjoiQ2VudHJhbCIsImtpbmQiOiJDZW50cmFsIiwibmFtZSI6ImNlbnRyYWxzLnBsYXRmb3JtLnN0YWNrcm94LmlvIiwicmVzb3VyY2VzIjpbeyJraW5kIjoiRGVwbG95bWVudCIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifSx7ImtpbmQiOiJSb3V0ZSIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifSx7ImtpbmQiOiJTZWNyZXQiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn0seyJraW5kIjoiU2VydmljZSIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifV0sInNwZWNEZXNjcmlwdG9ycyI6W3siZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENlbnRyYWwgY29tcG9uZW50LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYWxsIHVzZXIgaW50ZXJhY3Rpb24uIiwiZGlzcGxheU5hbWUiOiJDZW50cmFsIENvbXBvbmVudCBTZXR0aW5ncyIsInBhdGgiOiJjZW50cmFsIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Nhbm5lciBjb21wb25lbnQsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nIG9mIGNvbnRhaW5lclxuaW1hZ2VzLiIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBDb21wb25lbnQgU2V0dGluZ3MiLCJwYXRoIjoic2Nhbm5lciJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50LCB3aGljaCBjYW4gcnVuIGluIGFkZGl0aW9uIHRvIHRoZSBwcmV2aW91c2x5IGV4aXN0aW5nIFNjYW5uZXIgY29tcG9uZW50cyIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBWNCBDb21wb25lbnQgU2V0dGluZ3MiLCJwYXRoIjoic2Nhbm5lclY0In0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHJlbGF0ZWQgdG8gb3V0Z29pbmcgbmV0d29yayB0cmFmZmljLiIsImRpc3BsYXlOYW1lIjoiRWdyZXNzIiwicGF0aCI6ImVncmVzcyJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSwgc3VjaCBhcyBDZXJ0aWZpY2F0ZSBBdXRob3JpdGllcy4iLCJkaXNwbGF5TmFtZSI6IlRMUyIsInBhdGgiOiJ0bHMifSx7ImRlc2NyaXB0aW9uIjoiQWRkaXRpb25hbCBpbWFnZSBwdWxsIHNlY3JldHMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IGZvciBwdWxsaW5nIGltYWdlcy4iLCJkaXNwbGF5TmFtZSI6IkltYWdlIFB1bGwgU2VjcmV0cyIsInBhdGgiOiJpbWFnZVB1bGxTZWNyZXRzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgQ2VudHJhbCBTZXJ2aWNlcyBjb21wb25lbnRzLiIsImRpc3BsYXlOYW1lIjoiQ3VzdG9taXphdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsImRpc3BsYXlOYW1lIjoiT3ZlcmxheXMiLCJwYXRoIjoib3ZlcmxheXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJNb25pdG9yaW5nIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJNb25pdG9yaW5nIiwicGF0aCI6Im1vbml0b3JpbmciLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6Ik5ldHdvcmsgY29uZmlndXJhdGlvbi4iLCJkaXNwbGF5TmFtZSI6Ik5ldHdvcmsiLCJwYXRoIjoibmV0d29yayIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlnLWFzLUNvZGUgY29uZmlndXJhdGlvbi4iLCJkaXNwbGF5TmFtZSI6IkNvbmZpZy1hcy1Db2RlIiwicGF0aCI6ImNvbmZpZ0FzQ29kZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cbk1pc2NlbGxhbmVvdXMgc2V0dGluZ3MuIiwiZGlzcGxheU5hbWUiOiJNaXNjZWxsYW5lb3VzIiwicGF0aCI6Im1pc2MiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIGFkbWluaXN0cmF0b3IgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uXG5JZiBvbWl0dGVkLCB0aGUgb3BlcmF0b3Igd2lsbCBhdXRvLWdlbmVyYXRlIGEgcGFzc3dvcmQgYW5kIHN0b3JlIGl0IGluIHRoZSBcInBhc3N3b3JkXCIgaXRlbVxuaW4gdGhlIFwiY2VudHJhbC1odHBhc3N3ZFwiIHNlY3JldC4iLCJkaXNwbGF5TmFtZSI6IkFkbWluaXN0cmF0b3IgUGFzc3dvcmQiLCJwYXRoIjoiY2VudHJhbC5hZG1pblBhc3N3b3JkU2VjcmV0In0seyJkZXNjcmlwdGlvbiI6IkhlcmUgeW91IGNhbiBjb25maWd1cmUgaWYgeW91IHdhbnQgdG8gZXhwb3NlIGNlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydCwgYSBsb2FkIGJhbGFuY2VyLCBvciBhbiBPcGVuU2hpZnRcbnJvdXRlLiIsImRpc3BsYXlOYW1lIjoiRXhwb3N1cmUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZSJ9LHsiZGVzY3JpcHRpb24iOiJCeSBkZWZhdWx0LCBDZW50cmFsIHdpbGwgb25seSBzZXJ2ZSBhbiBpbnRlcm5hbCBUTFMgY2VydGlmaWNhdGUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IHdpbGxcbm5lZWQgdG8gaGFuZGxlIFRMUyB0ZXJtaW5hdGlvbiBhdCB0aGUgaW5ncmVzcyBvciBsb2FkIGJhbGFuY2VyIGxldmVsLlxuSWYgeW91IHdhbnQgdG8gdGVybWluYXRlIFRMUyBpbiBDZW50cmFsIGFuZCBzZXJ2ZSBhIGN1c3RvbSBzZXJ2ZXIgY2VydGlmaWNhdGUsIHlvdSBjYW4gc3BlY2lmeVxuYSBzZWNyZXQgY29udGFpbmluZyB0aGUgY2VydGlmaWNhdGUgYW5kIHByaXZhdGUga2V5IGhlcmUuIiwiZGlzcGxheU5hbWUiOiJVc2VyLWZhY2luZyBUTFMgY2VydGlmaWNhdGUgc2VjcmV0IiwicGF0aCI6ImNlbnRyYWwuZGVmYXVsdFRMU1NlY3JldCJ9LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIENlbnRyYWwuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gQ2VudHJhbCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwiZGlzcGxheU5hbWUiOiJNb25pdG9yaW5nIiwicGF0aCI6ImNlbnRyYWwubW9uaXRvcmluZyJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgQ2VudHJhbCBEQiwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGRhdGEgcGVyc2lzdGVuY2UuIiwiZGlzcGxheU5hbWUiOiJDZW50cmFsIERCIFNldHRpbmdzIiwicGF0aCI6ImNlbnRyYWwuZGIifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0ZWxlbWV0cnkgc2V0dGluZ3MgZm9yIENlbnRyYWwuIElmIGVuYWJsZWQsIENlbnRyYWwgdHJhbnNtaXRzIHRlbGVtZXRyeSBhbmQgZGlhZ25vc3RpY1xuZGF0YSB0byBhIHJlbW90ZSBzdG9yYWdlIGJhY2tlbmQuIiwiZGlzcGxheU5hbWUiOiJUZWxlbWV0cnkiLCJwYXRoIjoiY2VudHJhbC50ZWxlbWV0cnkiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIHJlc291cmNlcyB3aXRoaW4gQ2VudHJhbCBpbiBhIGRlY2xhcmF0aXZlIG1hbm5lci4iLCJkaXNwbGF5TmFtZSI6IkRlY2xhcmF0aXZlIENvbmZpZ3VyYXRpb24iLCJwYXRoIjoiY2VudHJhbC5kZWNsYXJhdGl2ZUNvbmZpZ3VyYXRpb24iLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIHRoZSBlbmNyeXB0aW9uIG9mIG5vdGlmaWVyIHNlY3JldHMgc3RvcmVkIGluIHRoZSBDZW50cmFsIERCLiIsImRpc3BsYXlOYW1lIjoiTm90aWZpZXIgU2VjcmV0cyBFbmNyeXB0aW9uIiwicGF0aCI6ImNlbnRyYWwubm90aWZpZXJTZWNyZXRzRW5jcnlwdGlvbiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoiY2VudHJhbC5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoiY2VudHJhbC5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6ImNlbnRyYWwudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6ImNlbnRyYWwuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiRGlzYWJsZSBhZG1pbiBwYXNzd29yZCBnZW5lcmF0aW9uLiBEbyBub3QgdXNlIHRoaXMgZm9yIGZpcnN0LXRpbWUgaW5zdGFsbGF0aW9ucyxcbmFzIHlvdSB3aWxsIGhhdmUgbm8gd2F5IHRvIHBlcmZvcm0gaW5pdGlhbCBzZXR1cCBhbmQgY29uZmlndXJhdGlvbiBvZiBhbHRlcm5hdGl2ZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzLiIsImRpc3BsYXlOYW1lIjoiQWRtaW4gUGFzc3dvcmQgR2VuZXJhdGlvbiBEaXNhYmxlZCIsInBhdGgiOiJjZW50cmFsLmFkbWluUGFzc3dvcmRHZW5lcmF0aW9uRGlzYWJsZWQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJVbnVzZWQgZmllbGQuIFRoaXMgZmllbGQgZXhpc3RzIHNvbGVseSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBzdGFydGluZyBmcm9tIHZlcnNpb24gdjQuNi4wLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVuY2UiLCJwYXRoIjoiY2VudHJhbC5wZXJzaXN0ZW5jZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJkaXNwbGF5TmFtZSI6Ik5hbWUiLCJwYXRoIjoiY2VudHJhbC5hZG1pblBhc3N3b3JkU2VjcmV0Lm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSBhIHNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSBwYXNzd29yZCBpbiB0aGUgXCJwYXNzd29yZFwiIGRhdGEgaXRlbS4gVGhpcyBjYW4gb25seSBiZSB1c2VkIHdoZW5cbnNwZWNpZnlpbmcgYSBjb25uZWN0aW9uIHN0cmluZyBtYW51YWxseS5cbldoZW4gb21pdHRlZCwgdGhlIG9wZXJhdG9yIHdpbGwgYXV0by1nZW5lcmF0ZSBhIERCIHBhc3N3b3JkIGFuZCBzdG9yZSBpdCBpbiB0aGUgXCJwYXNzd29yZFwiIGl0ZW1cbmluIHRoZSBcImNlbnRyYWwtZGItcGFzc3dvcmRcIiBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJBZG1pbmlzdHJhdG9yIFBhc3N3b3JkIiwicGF0aCI6ImNlbnRyYWwuZGIucGFzc3dvcmRTZWNyZXQifSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSBhIGNvbm5lY3Rpb24gc3RyaW5nIHRoYXQgY29ycmVzcG9uZHMgdG8gYSBkYXRhYmFzZSBtYW5hZ2VkIGVsc2V3aGVyZS4gSWYgc2V0LCB0aGUgb3BlcmF0b3Igd2lsbCBub3QgbWFuYWdlIHRoZSBDZW50cmFsIERCLlxuV2hlbiB1c2luZyB0aGlzIG9wdGlvbiwgeW91IG11c3QgZXhwbGljaXRseSBzZXQgYSBwYXNzd29yZCBzZWNyZXQ7IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGluZyBhIHBhc3N3b3JkIHdpbGwgbm90XG5iZSBzdXBwb3J0ZWQuIiwiZGlzcGxheU5hbWUiOiJDb25uZWN0aW9uIFN0cmluZyIsInBhdGgiOiJjZW50cmFsLmRiLmNvbm5lY3Rpb25TdHJpbmcifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBob3cgQ2VudHJhbCBEQiBzaG91bGQgc3RvcmUgaXRzIHBlcnNpc3RlbnQgZGF0YS4gWW91IGNhbiBjaG9vc2UgYmV0d2VlbiB1c2luZyBhIHBlcnNpc3RlbnRcbnZvbHVtZSBjbGFpbSAocmVjb21tZW5kZWQgZGVmYXVsdCksIGFuZCBhIGhvc3QgcGF0aC4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbmNlIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlnIG1hcCBjb250YWluaW5nIHBvc3RncmVzcWwuY29uZiBhbmQgcGdfaGJhLmNvbmYgdGhhdCB3aWxsIGJlIHVzZWQgaWYgbW9kaWZpY2F0aW9ucyBuZWVkIHRvIGJlIGFwcGxpZWQuIiwiZGlzcGxheU5hbWUiOiJDb25maWcgbWFwIHRoYXQgd2lsbCBvdmVycmlkZSBwb3N0Z3Jlc3FsLmNvbmYgYW5kIHBnX2hiYS5jb25mIiwicGF0aCI6ImNlbnRyYWwuZGIuY29uZmlnT3ZlcnJpZGUifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiBwb29sIHNpemUuIiwiZGlzcGxheU5hbWUiOiJEYXRhYmFzZSBDb25uZWN0aW9uIFBvb2wgU2l6ZSBTZXR0aW5ncyIsInBhdGgiOiJjZW50cmFsLmRiLmNvbm5lY3Rpb25Qb29sU2l6ZSJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6ImNlbnRyYWwuZGIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6ImNlbnRyYWwuZGIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJjZW50cmFsLmRiLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJjZW50cmFsLmRiLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLlxuVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJkaXNwbGF5TmFtZSI6IklzIEVuYWJsZWQiLCJwYXRoIjoiY2VudHJhbC5kYi5pc0VuYWJsZWQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJjZW50cmFsLmRiLmNvbmZpZ092ZXJyaWRlLm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOkNvbmZpZ01hcCJdfSx7ImRlc2NyaXB0aW9uIjoiTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiA5MC4iLCJkaXNwbGF5TmFtZSI6Ik1heGltdW0gQ29ubmVjdGlvbnMiLCJwYXRoIjoiY2VudHJhbC5kYi5jb25uZWN0aW9uUG9vbFNpemUubWF4Q29ubmVjdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiTWluaW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiAxMC4iLCJkaXNwbGF5TmFtZSI6Ik1pbmltdW0gQ29ubmVjdGlvbnMiLCJwYXRoIjoiY2VudHJhbC5kYi5jb25uZWN0aW9uUG9vbFNpemUubWluQ29ubmVjdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJjZW50cmFsLmRiLnBhc3N3b3JkU2VjcmV0Lm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiVXNlcyBhIEt1YmVybmV0ZXMgcGVyc2lzdGVudCB2b2x1bWUgY2xhaW0gKFBWQykgdG8gbWFuYWdlIHRoZSBzdG9yYWdlIGxvY2F0aW9uIG9mIHBlcnNpc3RlbnQgZGF0YS5cblJlY29tbWVuZGVkIGZvciBtb3N0IHVzZXJzLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVudCB2b2x1bWUgY2xhaW0iLCJwYXRoIjoiY2VudHJhbC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0ifSx7ImRlc2NyaXB0aW9uIjoiU3RvcmVzIHBlcnNpc3RlbnQgZGF0YSBpbiBhIGRpcmVjdG9yeSBvbiB0aGUgaG9zdC4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQsIGFuZCBzaG91bGQgb25seVxuYmUgdXNlZCB0b2dldGhlciB3aXRoIGEgbm9kZSBzZWxlY3RvciAob25seSBhdmFpbGFibGUgaW4gWUFNTCB2aWV3KS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgcGF0aCIsInBhdGgiOiJjZW50cmFsLmRiLnBlcnNpc3RlbmNlLmhvc3RQYXRoIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJkaXNwbGF5TmFtZSI6IlBhdGgiLCJwYXRoIjoiY2VudHJhbC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aC5wYXRoIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IGNlbnRyYWwtZGIuIiwiZGlzcGxheU5hbWUiOiJDbGFpbSBOYW1lIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLmNsYWltTmFtZSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgc2l6ZSBvZiB0aGUgcGVyc2lzdGVudCB2b2x1bWUgd2hlbiBjcmVhdGVkIHRocm91Z2ggdGhlIGNsYWltLiBJZiBhIGNsYWltIHdhcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQsXG50aGlzIGNhbiBiZSB1c2VkIGFmdGVyIHRoZSBpbml0aWFsIGRlcGxveW1lbnQgdG8gcmVzaXplIChncm93KSB0aGUgdm9sdW1lIChvbmx5IHN1cHBvcnRlZCBieSBzb21lXG5zdG9yYWdlIGNsYXNzIGNvbnRyb2xsZXJzKS4iLCJkaXNwbGF5TmFtZSI6IlNpemUiLCJwYXRoIjoiY2VudHJhbC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc2l6ZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0ZXh0Il19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgc3RvcmFnZSBjbGFzcyB0byB1c2UgZm9yIHRoZSBQVkMuIElmIHlvdXIgY2x1c3RlciBpcyBub3QgY29uZmlndXJlZCB3aXRoIGEgZGVmYXVsdCBzdG9yYWdlXG5jbGFzcywgeW91IG11c3Qgc2VsZWN0IGEgdmFsdWUgaGVyZS4iLCJkaXNwbGF5TmFtZSI6IlN0b3JhZ2UgQ2xhc3MiLCJwYXRoIjoiY2VudHJhbC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc3RvcmFnZUNsYXNzTmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U3RvcmFnZUNsYXNzIl19LHsiZGVzY3JpcHRpb24iOiJMaXN0IG9mIGNvbmZpZyBtYXBzIGNvbnRhaW5pbmcgZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbi4iLCJkaXNwbGF5TmFtZSI6IkNvbmZpZyBtYXBzIGNvbnRhaW5pbmcgZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbiIsInBhdGgiOiJjZW50cmFsLmRlY2xhcmF0aXZlQ29uZmlndXJhdGlvbi5jb25maWdNYXBzIn0seyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2Ygc2VjcmV0cyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJTZWNyZXRzIGNvbnRhaW5pbmcgZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbiIsInBhdGgiOiJjZW50cmFsLmRlY2xhcmF0aXZlQ29uZmlndXJhdGlvbi5zZWNyZXRzIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIGNvbmZpZyBtYXAuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImNlbnRyYWwuZGVjbGFyYXRpdmVDb25maWd1cmF0aW9uLmNvbmZpZ01hcHNbMF0ubmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6Q29uZmlnTWFwIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImNlbnRyYWwuZGVjbGFyYXRpdmVDb25maWd1cmF0aW9uLnNlY3JldHNbMF0ubmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Il19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImNlbnRyYWwuZGVmYXVsdFRMU1NlY3JldC5uYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpTZWNyZXQiXX0seyJkZXNjcmlwdGlvbiI6IkV4cG9zZSBDZW50cmFsIHRocm91Z2ggYW4gT3BlblNoaWZ0IHJvdXRlLiIsImRpc3BsYXlOYW1lIjoiUm91dGUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZSJ9LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgQ2VudHJhbCB0aHJvdWdoIGEgbG9hZCBiYWxhbmNlciBzZXJ2aWNlLiIsImRpc3BsYXlOYW1lIjoiTG9hZCBCYWxhbmNlciIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLmxvYWRCYWxhbmNlciJ9LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgQ2VudHJhbCB0aHJvdWdoIGEgbm9kZSBwb3J0LiIsImRpc3BsYXlOYW1lIjoiTm9kZSBQb3J0IiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUubm9kZVBvcnQifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsImRpc3BsYXlOYW1lIjoiRW5hYmxlZCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLmxvYWRCYWxhbmNlci5lbmFibGVkIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiA0NDMuIiwiZGlzcGxheU5hbWUiOiJQb3J0IiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUubG9hZEJhbGFuY2VyLnBvcnQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OmNlbnRyYWwuZXhwb3N1cmUubG9hZEJhbGFuY2VyLmVuYWJsZWQ6dHJ1ZSJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IGhhdmUgYSBzdGF0aWMgSVAgYWRkcmVzcyByZXNlcnZlZCBmb3IgeW91ciBsb2FkIGJhbGFuY2VyLCB5b3UgY2FuIGVudGVyIGl0IGhlcmUuIiwiZGlzcGxheU5hbWUiOiJJUCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLmxvYWRCYWxhbmNlci5pcCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6Y2VudHJhbC5leHBvc3VyZS5sb2FkQmFsYW5jZXIuZW5hYmxlZDp0cnVlIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogZmFsc2UuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUubm9kZVBvcnQuZW5hYmxlZCJ9LHsiZGVzY3JpcHRpb24iOiJVc2UgdGhpcyB0byBzcGVjaWZ5IGFuIGV4cGxpY2l0IG5vZGUgcG9ydC4gTW9zdCB1c2VycyBzaG91bGQgbGVhdmUgdGhpcyBlbXB0eS4iLCJkaXNwbGF5TmFtZSI6IlBvcnQiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5ub2RlUG9ydC5wb3J0IiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpjZW50cmFsLmV4cG9zdXJlLm5vZGVQb3J0LmVuYWJsZWQ6dHJ1ZSJdfSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgd2l0aCBhIHBhc3N0aHJvdWdoIHJvdXRlLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsImRpc3BsYXlOYW1lIjoiRW5hYmxlZCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLnJvdXRlLmVuYWJsZWQifSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSBhIGN1c3RvbSBob3N0bmFtZSBmb3IgdGhlIENlbnRyYWwgcm91dGUuXG5JZiB1bnNwZWNpZmllZCwgYW4gYXBwcm9wcmlhdGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGUgb3BlcmF0b3IuIiwiZGlzcGxheU5hbWUiOiJIb3N0IiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUuaG9zdCJ9LHsiZGVzY3JpcHRpb24iOiJTZXQgdXAgYSBDZW50cmFsIHJvdXRlIHdpdGggcmVlbmNyeXB0IFRMUyB0ZXJtaW5hdGlvbi5cbkZvciByZWVuY3J5cHQgcm91dGVzLCB0aGUgcmVxdWVzdCBpcyB0ZXJtaW5hdGVkIG9uIHRoZSBPcGVuU2hpZnQgcm91dGVyIHdpdGggYSBjdXN0b20gY2VydGlmaWNhdGUuXG5UaGUgcmVxdWVzdCBpcyB0aGVuIHJlZW5jcnlwdGVkIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGVyIGFuZCBzZW50IHRvIENlbnRyYWwuXG5bdXNlcl0gLS1UTFMtLVx1MDAzZSBbT3BlblNoaWZ0IHJvdXRlcl0gLS1UTFMtLVx1MDAzZSBbQ2VudHJhbF0iLCJkaXNwbGF5TmFtZSI6IlJlLUVuY3J5cHQgUm91dGUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQifSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgd2l0aCBhIHJlZW5jcnlwdCByb3V0ZS5cblNob3VsZCBub3QgYmUgdXNlZCBmb3Igc2Vuc29yIGNvbW11bmljYXRpb24uXG5UaGUgZGVmYXVsdCBpczogZmFsc2UuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0LmVuYWJsZWQifSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSBhIGN1c3RvbSBob3N0bmFtZSBmb3IgdGhlIENlbnRyYWwgcmVlbmNyeXB0IHJvdXRlLlxuSWYgdW5zcGVjaWZpZWQsIGFuIGFwcHJvcHJpYXRlIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNob3NlbiBieSB0aGUgT3BlblNoaWZ0IHJvdXRlIG9wZXJhdG9yLiIsImRpc3BsYXlOYW1lIjoiSG9zdCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLnJvdXRlLnJlZW5jcnlwdC5ob3N0In0seyJkZXNjcmlwdGlvbiI6IlRMUyBzZXR0aW5ncyBmb3IgZXhwb3NpbmcgQ2VudHJhbCB2aWEgYSByZWVuY3J5cHQgUm91dGUuIiwiZGlzcGxheU5hbWUiOiJUTFMgU2V0dGluZ3MiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQudGxzIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBjZXJ0aWZpY2F0ZSBjaGFpbiB0aGF0IG1heSBiZSB1c2VkIHRvIGVzdGFibGlzaCBhIGNvbXBsZXRlIGNoYWluIG9mIHRydXN0LlxuRGVmYXVsdHMgdG8gdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwiZGlzcGxheU5hbWUiOiJDQSBDZXJ0aWZpY2F0ZSIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLnJvdXRlLnJlZW5jcnlwdC50bHMuY2FDZXJ0aWZpY2F0ZSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgUEVNIGVuY29kZWQgY2VydGlmaWNhdGUgdGhhdCBpcyBzZXJ2ZWQgb24gdGhlIHJvdXRlLiBNdXN0IGJlIGEgc2luZ2xlIHNlcnZpbmdcbmNlcnRpZmljYXRlIGluc3RlYWQgb2YgYSBjZXJ0aWZpY2F0ZSBjaGFpbi5cbkRlZmF1bHRzIHRvIGEgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IHRoZSBPcGVuU2hpZnQgY2VydGlmaWNhdGUgYXV0aG9yaXR5LiIsImRpc3BsYXlOYW1lIjoiQ2VydGlmaWNhdGUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQudGxzLmNlcnRpZmljYXRlIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBDQSBjZXJ0aWZpY2F0ZSBvZiB0aGUgZmluYWwgZGVzdGluYXRpb24sIGkuZS4gb2YgQ2VudHJhbC5cblVzZWQgYnkgdGhlIE9wZW5TaGlmdCByb3V0ZXIgZm9yIGhlYWx0aCBjaGVja3Mgb24gdGhlIHNlY3VyZSBjb25uZWN0aW9uLlxuRGVmYXVsdHMgdG8gdGhlIENlbnRyYWwgY2VydGlmaWNhdGUgYXV0aG9yaXR5LiIsImRpc3BsYXlOYW1lIjoiRGVzdGluYXRpb24gQ0EgQ2VydGlmaWNhdGUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQudGxzLmRlc3RpbmF0aW9uQ0FDZXJ0aWZpY2F0ZSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgUEVNIGVuY29kZWQgcHJpdmF0ZSBrZXkgb2YgdGhlIGNlcnRpZmljYXRlIHRoYXQgaXMgc2VydmVkIG9uIHRoZSByb3V0ZS5cbkRlZmF1bHRzIHRvIGEgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IHRoZSBPcGVuU2hpZnQgY2VydGlmaWNhdGUgYXV0aG9yaXR5LiIsImRpc3BsYXlOYW1lIjoiUHJpdmF0ZSBLZXkiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQudGxzLmtleSJ9LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgdGhlIG1vbml0b3JpbmcgZW5kcG9pbnQuIEEgbmV3IHNlcnZpY2UsIFwibW9uaXRvcmluZ1wiLFxud2l0aCBwb3J0IDkwOTAsIHdpbGwgYmUgY3JlYXRlZCBhcyB3ZWxsIGFzIGEgbmV0d29yayBwb2xpY3kgYWxsb3dpbmdcbmluYm91bmQgY29ubmVjdGlvbnMgdG8gdGhlIHBvcnQuIiwiZGlzcGxheU5hbWUiOiJFeHBvc2UgRW5kcG9pbnQiLCJwYXRoIjoiY2VudHJhbC5tb25pdG9yaW5nLmV4cG9zZUVuZHBvaW50In0seyJkZXNjcmlwdGlvbiI6IkVuYWJsZXMgdGhlIGVuY3J5cHRpb24gb2Ygbm90aWZpZXIgc2VjcmV0cyBzdG9yZWQgaW4gdGhlIENlbnRyYWwgREIuXG5UaGUgZGVmYXVsdCBpczogZmFsc2UuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6ImNlbnRyYWwubm90aWZpZXJTZWNyZXRzRW5jcnlwdGlvbi5lbmFibGVkIn0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgUGF0aCIsInBhdGgiOiJjZW50cmFsLnBlcnNpc3RlbmNlLmhvc3RQYXRoIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVudCBWb2x1bWUgQ2xhaW0iLCJwYXRoIjoiY2VudHJhbC5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0iLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6ImNlbnRyYWwucGVyc2lzdGVuY2UuaG9zdFBhdGgucGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwiZGlzcGxheU5hbWUiOiJDbGFpbSBOYW1lIiwicGF0aCI6ImNlbnRyYWwucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLmNsYWltTmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJkaXNwbGF5TmFtZSI6IlNpemUiLCJwYXRoIjoiY2VudHJhbC5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc2l6ZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJkaXNwbGF5TmFtZSI6IlN0b3JhZ2UgQ2xhc3MgTmFtZSIsInBhdGgiOiJjZW50cmFsLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5zdG9yYWdlQ2xhc3NOYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHdoZXRoZXIgVGVsZW1ldHJ5IGlzIGVuYWJsZWQuXG5UaGUgZGVmYXVsdCBpczogdHJ1ZS4iLCJkaXNwbGF5TmFtZSI6IkVuYWJsZWQiLCJwYXRoIjoiY2VudHJhbC50ZWxlbWV0cnkuZW5hYmxlZCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpib29sZWFuU3dpdGNoIl19LHsiZGVzY3JpcHRpb24iOiJEZWZpbmVzIHRoZSB0ZWxlbWV0cnkgc3RvcmFnZSBiYWNrZW5kIGZvciBDZW50cmFsLiIsImRpc3BsYXlOYW1lIjoiU3RvcmFnZSIsInBhdGgiOiJjZW50cmFsLnRlbGVtZXRyeS5zdG9yYWdlIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpjZW50cmFsLnRlbGVtZXRyeS5lbmFibGVkOnRydWUiXX0seyJkZXNjcmlwdGlvbiI6IlN0b3JhZ2UgQVBJIGVuZHBvaW50LiIsImRpc3BsYXlOYW1lIjoiRW5kcG9pbnQiLCJwYXRoIjoiY2VudHJhbC50ZWxlbWV0cnkuc3RvcmFnZS5lbmRwb2ludCJ9LHsiZGVzY3JpcHRpb24iOiJTdG9yYWdlIEFQSSBrZXkuIElmIG5vdCBzZXQsIHRlbGVtZXRyeSBpcyBkaXNhYmxlZC4iLCJkaXNwbGF5TmFtZSI6IktleSIsInBhdGgiOiJjZW50cmFsLnRlbGVtZXRyeS5zdG9yYWdlLmtleSJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0byBkZXBsb3kgdGhlIENvbmZpZyBhcyBDb2RlIGNvbXBvbmVudCwgc2V0IHRoaXMgdG8gXCJFbmFibGVkXCJcblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiQ29uZmlnIGFzIENvZGUgY29tcG9uZW50IiwicGF0aCI6ImNvbmZpZ0FzQ29kZS5jb25maWdBc0NvZGVDb21wb25lbnQifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJjb25maWdBc0NvZGUucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6ImNvbmZpZ0FzQ29kZS5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6ImNvbmZpZ0FzQ29kZS50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoiY29uZmlnQXNDb2RlLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IkN1c3RvbSBsYWJlbHMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwiZGlzcGxheU5hbWUiOiJMYWJlbHMiLCJwYXRoIjoiY3VzdG9taXplLmxhYmVscyJ9LHsiZGVzY3JpcHRpb24iOiJDdXN0b20gYW5ub3RhdGlvbnMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwiZGlzcGxheU5hbWUiOiJBbm5vdGF0aW9ucyIsInBhdGgiOiJjdXN0b21pemUuYW5ub3RhdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgb24gbWFuYWdlZCBwb2RzJyBjb250YWluZXJzLiIsImRpc3BsYXlOYW1lIjoiRW52aXJvbm1lbnQgVmFyaWFibGVzIiwicGF0aCI6ImN1c3RvbWl6ZS5lbnZWYXJzIn0seyJkZXNjcmlwdGlvbiI6Ikdsb2JhbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZvciBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIERhZW1vblNldHMgKENvbGxlY3RvcikgYXJlIG5vdCBhZmZlY3RlZC5cbkNvbXBvbmVudC1sZXZlbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHNldHRpbmdzIG92ZXJyaWRlIHRoZXNlIGRlZmF1bHRzIG9uIGEgZmllbGQtYnktZmllbGQgYmFzaXMuIiwiZGlzcGxheU5hbWUiOiJEZXBsb3ltZW50IERlZmF1bHRzIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMifSx7ImRlc2NyaXB0aW9uIjoiUGluIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMgdG8gc3BlY2lmaWMgbm9kZSB0eXBlcy4gVGhpcyBpcyBhIGNvbnZlbmllbmNlIHNldHRpbmdcbnRoYXQgYXV0b21hdGljYWxseSBjb25maWd1cmVzIGJvdGggbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyB3aXRoIHByZWRlZmluZWQgdmFsdWVzLlxuVXNlIHRoaXMgZm9yIGNvbW1vbiBzY2VuYXJpb3MgbGlrZSBydW5uaW5nIG9uIE9wZW5TaGlmdCBpbmZyYXN0cnVjdHVyZSBub2Rlcy5cbkZvciBjdXN0b20gbm9kZSBzZWxlY3Rpb24sIHVzZSB0aGUgZXhwbGljaXQgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmaWVsZHMgaW5zdGVhZC5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggbm9kZVNlbGVjdG9yIG9yIHRvbGVyYXRpb25zIGZpZWxkcy5cblRoZSBkZWZhdWx0IGlzOiBOb25lLiIsImRpc3BsYXlOYW1lIjoiUGluIFRvIE5vZGVzIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMucGluVG9Ob2RlcyJ9LHsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IG5vZGVTZWxlY3RvciBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIGZvciBjdXN0b20gbm9kZVxuc2VsZWN0aW9uIGNyaXRlcmlhLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IHRvbGVyYXRpb25zIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgd2hlbiB5b3VyIHRhcmdldFxubm9kZXMgaGF2ZSBjdXN0b20gdGFpbnRzIHRoYXQgcG9kcyBtdXN0IHRvbGVyYXRlLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucyJ9LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIHdoZXRoZXIgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IHNob3VsZCBydW4gaW4gb25saW5lIG9yIG9mZmxpbmUgKGRpc2Nvbm5lY3RlZCkgbW9kZS5cbkluIG9mZmxpbmUgbW9kZSwgYXV0b21hdGljIHVwZGF0ZXMgb2YgdnVsbmVyYWJpbGl0eSBkZWZpbml0aW9ucyBhbmQga2VybmVsIG1vZHVsZXMgYXJlIGRpc2FibGVkLlxuVGhlIGRlZmF1bHQgaXM6IE9ubGluZS4iLCJkaXNwbGF5TmFtZSI6IkNvbm5lY3Rpdml0eSBQb2xpY3kiLCJwYXRoIjoiZWdyZXNzLmNvbm5lY3Rpdml0eVBvbGljeSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImltYWdlUHVsbFNlY3JldHNbMF0ubmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Il19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuU2V0IHRoaXMgdG8gdHJ1ZSB0byBoYXZlIHRoZSBvcGVyYXRvciBjcmVhdGUgU2VjdXJpdHlDb250ZXh0Q29uc3RyYWludHMgKFNDQ3MpIGZvciB0aGUgb3BlcmFuZHMuIFRoaXNcbmlzbid0IHVzdWFsbHkgbmVlZGVkLCBhbmQgbWF5IGludGVyZmVyZSB3aXRoIG90aGVyIHdvcmtsb2Fkcy4iLCJkaXNwbGF5TmFtZSI6IkNyZWF0ZSBTZWN1cml0eUNvbnRleHRDb25zdHJhaW50cyBmb3IgT3BlcmFuZCIsInBhdGgiOiJtaXNjLmNyZWF0ZVNDQ3MiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogdHJ1ZS4iLCJkaXNwbGF5TmFtZSI6IkVuYWJsZWQiLCJwYXRoIjoibW9uaXRvcmluZy5vcGVuc2hpZnQuZW5hYmxlZCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpib29sZWFuU3dpdGNoIl19LHsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiTmV0d29yayBQb2xpY2llcyIsInBhdGgiOiJuZXR3b3JrLnBvbGljaWVzIn0seyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsImRpc3BsYXlOYW1lIjoiQVBJIFZlcnNpb24iLCJwYXRoIjoib3ZlcmxheXNbMF0uYXBpVmVyc2lvbiJ9LHsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZSBraW5kLiIsImRpc3BsYXlOYW1lIjoiS2luZCIsInBhdGgiOiJvdmVybGF5c1swXS5raW5kIn0seyJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgcmVzb3VyY2UuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6Im92ZXJsYXlzWzBdLm5hbWUifSx7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwiZGlzcGxheU5hbWUiOiJPcHRpb25hbCIsInBhdGgiOiJvdmVybGF5c1swXS5vcHRpb25hbCJ9LHsiZGVzY3JpcHRpb24iOiJMaXN0IG9mIHBhdGNoZXMgdG8gYXBwbHkgdG8gcmVzb3VyY2UuIiwiZGlzcGxheU5hbWUiOiJQYXRjaGVzIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXMifSx7ImRlc2NyaXB0aW9uIjoiUGF0aCBvZiB0aGUgZm9ybSBhLltrZXkxOnZhbHVlMV0uYi5bOnZhbHVlMl1cbldoZXJlIFtrZXkxOnZhbHVlMV0gaXMgYSBzZWxlY3RvciBmb3IgYSBrZXktdmFsdWUgcGFpciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBhbmQgWzp2YWx1ZV0gaXMgYSB2YWx1ZVxuc2VsZWN0b3IgdG8gaWRlbnRpZnkgYSBsaXN0IGVsZW1lbnQgaW4gYSBsZWFmIGxpc3QuXG5BbGwgcGF0aCBpbnRlcm1lZGlhdGUgbm9kZXMgbXVzdCBleGlzdC4iLCJkaXNwbGF5TmFtZSI6IlBhdGgiLCJwYXRoIjoib3ZlcmxheXNbMF0ucGF0Y2hlc1swXS5wYXRoIn0seyJkZXNjcmlwdGlvbiI6IlZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5Gb3IgYWRkLCB0aGUgcGF0aCBzaG91bGQgYmUgYSBuZXcgbGVhZi5cbkZvciBkZWxldGUsIHZhbHVlIHNob3VsZCBiZSB1bnNldC5cbkZvciByZXBsYWNlLCBwYXRoIHNob3VsZCByZWZlcmVuY2UgYW4gZXhpc3Rpbmcgbm9kZS5cbkFsbCB2YWx1ZXMgYXJlIHN0cmluZ3MgYnV0IGFyZSBjb252ZXJ0ZWQgaW50byBhcHByb3ByaWF0ZSB0eXBlIGJhc2VkIG9uIHNjaGVtYS4iLCJkaXNwbGF5TmFtZSI6IlZhbHVlIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXNbMF0udmFsdWUifSx7ImRlc2NyaXB0aW9uIjoiVmVyYmF0aW0gdmFsdWUgdG8gYWRkLCBkZWxldGUgb3IgcmVwbGFjZS5cblNhbWUgYXMgVmFsdWUsIGJ1dCB0aGUgY29udGVudCBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgWUFNTCBhbmQgaXMgdHJlYXRlZCBhcyBhIGxpdGVyYWwgc3RyaW5nIGluc3RlYWQuXG5BdCBsZWFzdCBvbmUgb2YgVmFsdWUgYW5kIFZlcmJhdGltIG11c3QgYmUgZW1wdHkuIiwiZGlzcGxheU5hbWUiOiJWZXJiYXRpbSIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzWzBdLnZlcmJhdGltIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSBkbyBub3Qgd2FudCB0byBkZXBsb3kgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLCB5b3UgY2FuIGRpc2FibGUgaXQgaGVyZVxuKG5vdCByZWNvbW1lbmRlZCkuIEJ5IGRlZmF1bHQsIHRoZSBzY2FubmVyIGlzIGVuYWJsZWQuXG5JZiB5b3UgZG8gc28sIGFsbCB0aGUgc2V0dGluZ3MgaW4gdGhpcyBzZWN0aW9uIHdpbGwgaGF2ZSBubyBlZmZlY3QuIiwiZGlzcGxheU5hbWUiOiJTY2FubmVyIENvbXBvbmVudCIsInBhdGgiOiJzY2FubmVyLnNjYW5uZXJDb21wb25lbnQifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgYW5hbHl6ZXIgZGVwbG95bWVudCwgc3VjaCBhcyBmb3IgYXV0b3NjYWxpbmcuIiwiZGlzcGxheU5hbWUiOiJBbmFseXplciIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyLnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgZGF0YWJhc2UgdXNlZCBieSB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IFNjYW5uZXIuIiwiZGlzcGxheU5hbWUiOiJEQiIsInBhdGgiOiJzY2FubmVyLmRiIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyLnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBtb25pdG9yaW5nIGVuZHBvaW50IGZvciBTY2FubmVyLiBUaGUgbW9uaXRvcmluZyBlbmRwb2ludFxuYWxsb3dzIG90aGVyIHNlcnZpY2VzIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tIFNjYW5uZXIsIHByb3ZpZGVkIGluXG5Qcm9tZXRoZXVzIGNvbXBhdGlibGUgZm9ybWF0LiIsImRpc3BsYXlOYW1lIjoiTW9uaXRvcmluZyIsInBhdGgiOiJzY2FubmVyLm1vbml0b3JpbmcifSx7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiBhbmFseXplciByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcuIiwiZGlzcGxheU5hbWUiOiJTY2FsaW5nIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmciLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLmF1dG9TY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZGlzcGxheU5hbWUiOiJEZWZhdWx0IFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5yZXBsaWNhcyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogMi4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1pbmltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLm1pblJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNYXhpbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5tYXhSZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lci5hbmFseXplci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lci5kYi5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lci5kYi5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXIuZGIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXIuZGIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImRpc3BsYXlOYW1lIjoiRXhwb3NlIEVuZHBvaW50IiwicGF0aCI6InNjYW5uZXIubW9uaXRvcmluZy5leHBvc2VFbmRwb2ludCJ9LHsiZGVzY3JpcHRpb24iOiJDYW4gYmUgc3BlY2lmaWVkIGFzIFwiRW5hYmxlZFwiIG9yIFwiRGlzYWJsZWRcIi5cbklmIHRoaXMgZmllbGQgaXMgbm90IHNwZWNpZmllZCwgdGhlIGZvbGxvd2luZyBkZWZhdWx0aW5nIHRha2VzIHBsYWNlOlxuKiBmb3IgdXBncmFkZXMgdG8gNC44IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZDtcbiogZm9yIG5ldyBpbnN0YWxsYXRpb25zIHN0YXJ0aW5nIHdpdGggQUNTIDQuOCwgdGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZGlzcGxheU5hbWUiOiJTY2FubmVyIFY0IGNvbXBvbmVudCIsInBhdGgiOiJzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRleGVyIGRlcGxveW1lbnQuIiwiZGlzcGxheU5hbWUiOiJJbmRleGVyIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBtYXRjaGVyIGRlcGxveW1lbnQuIiwiZGlzcGxheU5hbWUiOiJNYXRjaGVyIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBEQiBkZXBsb3ltZW50LiIsImRpc3BsYXlOYW1lIjoiREIiLCJwYXRoIjoic2Nhbm5lclY0LmRiIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIFNjYW5uZXIgVjQuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gU2Nhbm5lciBWNCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwiZGlzcGxheU5hbWUiOiJNb25pdG9yaW5nIiwicGF0aCI6InNjYW5uZXJWNC5tb25pdG9yaW5nIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBTY2FubmVyIFY0IHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLlxuWW91IGNhbiB1c2UgYSBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAodGhlIHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhIGhvc3QgcGF0aCxcbm9yIGFuIGVtcHR5RGlyIHZvbHVtZSBpZiBTY2FubmVyIFY0IGlzIHJ1bm5pbmcgb24gYSBzZWN1cmVkIGNsdXN0ZXIgd2l0aG91dCBkZWZhdWx0IFN0b3JhZ2VDbGFzcy4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbmNlIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZSJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXJWNC5kYi5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lclY0LmRiLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyVjQuZGIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiVXNlcyBhIEt1YmVybmV0ZXMgcGVyc2lzdGVudCB2b2x1bWUgY2xhaW0gKFBWQykgdG8gbWFuYWdlIHRoZSBzdG9yYWdlIGxvY2F0aW9uIG9mIHBlcnNpc3RlbnQgZGF0YS5cblJlY29tbWVuZGVkIGZvciBtb3N0IHVzZXJzLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVudCB2b2x1bWUgY2xhaW0iLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbSJ9LHsiZGVzY3JpcHRpb24iOiJTdG9yZXMgcGVyc2lzdGVudCBkYXRhIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBob3N0LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIHNob3VsZCBvbmx5XG5iZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSBub2RlIHNlbGVjdG9yIChvbmx5IGF2YWlsYWJsZSBpbiBZQU1MIHZpZXcpLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBwYXRoIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aC5wYXRoIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IHNjYW5uZXItdjQtZGIuIiwiZGlzcGxheU5hbWUiOiJDbGFpbSBOYW1lIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uY2xhaW1OYW1lIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBzaXplIG9mIHRoZSBwZXJzaXN0ZW50IHZvbHVtZSB3aGVuIGNyZWF0ZWQgdGhyb3VnaCB0aGUgY2xhaW0uIElmIGEgY2xhaW0gd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCxcbnRoaXMgY2FuIGJlIHVzZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGVwbG95bWVudCB0byByZXNpemUgKGdyb3cpIHRoZSB2b2x1bWUgKG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWVcbnN0b3JhZ2UgY2xhc3MgY29udHJvbGxlcnMpLiIsImRpc3BsYXlOYW1lIjoiU2l6ZSIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnNpemUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGV4dCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwiZGlzcGxheU5hbWUiOiJTdG9yYWdlIENsYXNzIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc3RvcmFnZUNsYXNzTmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U3RvcmFnZUNsYXNzIl19LHsiZGVzY3JpcHRpb24iOiJDb250cm9scyB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIGFuZCBhdXRvc2NhbGluZyBmb3IgdGhpcyBjb21wb25lbnQuIiwiZGlzcGxheU5hbWUiOiJTY2FsaW5nIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBlbmFibGVkLCB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudCByZXBsaWNhcyBpcyBtYW5hZ2VkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBsb2FkLCB3aXRoaW4gdGhlIGxpbWl0c1xuc3BlY2lmaWVkIGJlbG93LlxuVGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLmF1dG9TY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZGlzcGxheU5hbWUiOiJEZWZhdWx0IFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcucmVwbGljYXMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDIuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNaW5pbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcubWluUmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNYXhpbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcubWF4UmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsImRpc3BsYXlOYW1lIjoiU2NhbGluZyIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmciLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5hdXRvU2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImRpc3BsYXlOYW1lIjoiRGVmYXVsdCBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nLnJlcGxpY2FzIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWluaW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nLm1pblJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiA1LiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWF4aW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nLm1heFJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQubWF0Y2hlci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IkV4cG9zZSB0aGUgbW9uaXRvcmluZyBlbmRwb2ludC4gQSBuZXcgc2VydmljZSwgXCJtb25pdG9yaW5nXCIsXG53aXRoIHBvcnQgOTA5MCwgd2lsbCBiZSBjcmVhdGVkIGFzIHdlbGwgYXMgYSBuZXR3b3JrIHBvbGljeSBhbGxvd2luZ1xuaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgcG9ydC4iLCJkaXNwbGF5TmFtZSI6IkV4cG9zZSBFbmRwb2ludCIsInBhdGgiOiJzY2FubmVyVjQubW9uaXRvcmluZy5leHBvc2VFbmRwb2ludCJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3MgeW91IHRvIHNwZWNpZnkgYWRkaXRpb25hbCB0cnVzdGVkIFJvb3QgQ0FzLiIsImRpc3BsYXlOYW1lIjoiQWRkaXRpb25hbCBDQXMiLCJwYXRoIjoidGxzLmFkZGl0aW9uYWxDQXMifV0sInN0YXR1c0Rlc2NyaXB0b3JzIjpbeyJkZXNjcmlwdGlvbiI6IkluZm8gc3RvcmVzIGluZm9ybWF0aW9uIG9uIGhvdyB0byBvYnRhaW4gdGhlIGFkbWluIHBhc3N3b3JkLiIsImRpc3BsYXlOYW1lIjoiQWRtaW4gQ3JlZGVudGlhbHMgSW5mbyIsInBhdGgiOiJjZW50cmFsLmFkbWluUGFzc3dvcmQuaW5mbyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVwbG95ZWQgdmVyc2lvbiBvZiB0aGUgcHJvZHVjdC4iLCJkaXNwbGF5TmFtZSI6IlByb2R1Y3QgVmVyc2lvbiIsInBhdGgiOiJwcm9kdWN0VmVyc2lvbiJ9LHsiZGlzcGxheU5hbWUiOiJDZW50cmFsIiwicGF0aCI6ImNlbnRyYWwifSx7ImRlc2NyaXB0aW9uIjoiQWRtaW5QYXNzd29yZFNlY3JldFJlZmVyZW5jZSBjb250YWlucyByZWZlcmVuY2UgZm9yIHRoZSBhZG1pbiBwYXNzd29yZCIsImRpc3BsYXlOYW1lIjoiQWRtaW4gUGFzc3dvcmQgU2VjcmV0IFJlZmVyZW5jZSIsInBhdGgiOiJjZW50cmFsLmFkbWluUGFzc3dvcmQuYWRtaW5QYXNzd29yZFNlY3JldFJlZmVyZW5jZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Il19LHsiZGVzY3JpcHRpb24iOiJPYnNlcnZlZEdlbmVyYXRpb24gaXMgdGhlIGdlbmVyYXRpb24gbW9zdCByZWNlbnRseSBvYnNlcnZlZCBieSB0aGUgY29udHJvbGxlci4iLCJkaXNwbGF5TmFtZSI6Ik9ic2VydmVkIEdlbmVyYXRpb24iLCJwYXRoIjoib2JzZXJ2ZWRHZW5lcmF0aW9uIn1dLCJ2ZXJzaW9uIjoidjFhbHBoYTEifSx7ImRlc2NyaXB0aW9uIjoiU2VjdXJlZENsdXN0ZXIgaXMgdGhlIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9yIHRoZSBzZWN1cmVkIGNsdXN0ZXIgc2VydmljZXMuIFRoZXNlIGluY2x1ZGUgU2Vuc29yLCB3aGljaCBpc1xucmVzcG9uc2libGUgZm9yIHRoZSBjb25uZWN0aW9uIHRvIENlbnRyYWwsIGFuZCBDb2xsZWN0b3IsIHdoaWNoIHBlcmZvcm1zIGhvc3QtbGV2ZWwgY29sbGVjdGlvbiBvZiBwcm9jZXNzIGFuZFxubmV0d29yayBldmVudHMuXHUwMDNjcFx1MDAzZVxuKipJbXBvcnRhbnQ6KiogUGxlYXNlIHNlZSB0aGUgX0luc3RhbGxhdGlvbiBQcmVyZXF1aXNpdGVzXyBvbiB0aGUgbWFpbiBSSEFDUyBvcGVyYXRvciBwYWdlIGJlZm9yZSBkZXBsb3lpbmcsIG9yXG5jb25zdWx0IHRoZSBSSEFDUyBkb2N1bWVudGF0aW9uIG9uIGNyZWF0aW5nIGNsdXN0ZXIgaW5pdCBidW5kbGVzLiIsImRpc3BsYXlOYW1lIjoiU2VjdXJlZCBDbHVzdGVyIiwia2luZCI6IlNlY3VyZWRDbHVzdGVyIiwibmFtZSI6InNlY3VyZWRjbHVzdGVycy5wbGF0Zm9ybS5zdGFja3JveC5pbyIsInJlc291cmNlcyI6W3sia2luZCI6IkRhZW1vblNldCIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifSx7ImtpbmQiOiJEZXBsb3ltZW50IiwibmFtZSI6IiIsInZlcnNpb24iOiJ2MSJ9XSwic3BlY0Rlc2NyaXB0b3JzIjpbeyJkZXNjcmlwdGlvbiI6IlRoZSB1bmlxdWUgbmFtZSBvZiB0aGlzIGNsdXN0ZXIsIGFzIGl0IHdpbGwgYmUgc2hvd24gaW4gdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBVSS5cbk5vdGU6IE9uY2UgYSBuYW1lIGlzIHNldCBoZXJlLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBjaGFuZ2UgaXQgYWdhaW4uIFlvdSB3aWxsIG5lZWQgdG8gZGVsZXRlXG5hbmQgcmUtY3JlYXRlIHRoaXMgb2JqZWN0IGluIG9yZGVyIHRvIHJlZ2lzdGVyIGEgY2x1c3RlciB3aXRoIGEgbmV3IG5hbWUuIiwiZGlzcGxheU5hbWUiOiJDbHVzdGVyIE5hbWUiLCJwYXRoIjoiY2x1c3Rlck5hbWUifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGVuZHBvaW50IG9mIHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgQ2VudHJhbCBpbnN0YW5jZSB0byBjb25uZWN0IHRvLFxuaW5jbHVkaW5nIHRoZSBwb3J0IG51bWJlci4gSWYgbm8gcG9ydCBpcyBzcGVjaWZpZWQgYW5kIHRoZSBlbmRwb2ludCBjb250YWlucyBhbiBodHRwczovL1xucHJvdG9jb2wgc3BlY2lmaWNhdGlvbiwgdGhlbiB0aGUgcG9ydCA0NDMgaXMgaW1wbGljaXRseSBhc3N1bWVkLlxuSWYgdXNpbmcgYSBub24tZ1JQQyBjYXBhYmxlIGxvYWQgYmFsYW5jZXIsIHVzZSB0aGUgV2ViU29ja2V0IHByb3RvY29sIGJ5IHByZWZpeGluZyB0aGUgZW5kcG9pbnRcbmFkZHJlc3Mgd2l0aCB3c3M6Ly8uXG5Ob3RlOiB3aGVuIGxlYXZpbmcgdGhpcyBibGFuaywgU2Vuc29yIHdpbGwgYXR0ZW1wdCB0byBjb25uZWN0IHRvIGEgQ2VudHJhbCBpbnN0YW5jZSBydW5uaW5nIGluIHRoZSBzYW1lXG5uYW1lc3BhY2UuIiwiZGlzcGxheU5hbWUiOiJDZW50cmFsIEVuZHBvaW50IiwicGF0aCI6ImNlbnRyYWxFbmRwb2ludCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNlbnNvciBjb21wb25lbnQuIiwiZGlzcGxheU5hbWUiOiJTZW5zb3IgU2V0dGluZ3MiLCJwYXRoIjoic2Vuc29yIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgQWRtaXNzaW9uIENvbnRyb2wgY29tcG9uZW50LCB3aGljaCBpcyBuZWNlc3NhcnkgZm9yIHByZXZlbnRpdmUgcG9saWN5IGVuZm9yY2VtZW50LFxuYW5kIGZvciBLdWJlcm5ldGVzIGV2ZW50IG1vbml0b3JpbmcuIiwiZGlzcGxheU5hbWUiOiJBZG1pc3Npb24gQ29udHJvbCBTZXR0aW5ncyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgY29tcG9uZW50cyBydW5uaW5nIG9uIGVhY2ggbm9kZSBpbiB0aGUgY2x1c3RlciAoQ29sbGVjdG9yIGFuZCBDb21wbGlhbmNlKS4iLCJkaXNwbGF5TmFtZSI6IlBlciBOb2RlIFNldHRpbmdzIiwicGF0aCI6InBlck5vZGUifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRpbmcgdG8gdGhlIGluZ2VzdGlvbiBvZiBLdWJlcm5ldGVzIGF1ZGl0IGxvZ3MuIiwiZGlzcGxheU5hbWUiOiJLdWJlcm5ldGVzIEF1ZGl0IExvZ3MgSW5nZXN0aW9uIFNldHRpbmdzIiwicGF0aCI6ImF1ZGl0TG9ncyJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGluZyB0byBwcm9jZXNzIGJhc2VsaW5lcy4iLCJkaXNwbGF5TmFtZSI6IlByb2Nlc3MgQmFzZWxpbmVzIFNldHRpbmdzIiwicGF0aCI6InByb2Nlc3NCYXNlbGluZXMifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIGNvbXBvbmVudCwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcgb2YgY29udGFpbmVyXG5pbWFnZXMgc3RvcmVkIGluIGEgY2x1c3Rlci1sb2NhbCBpbWFnZSByZXBvc2l0b3J5LiIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBDb21wb25lbnQgU2V0dGluZ3MiLCJwYXRoIjoic2Nhbm5lciJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50cywgd2hpY2ggY2FuIHJ1biBpbiBhZGRpdGlvbiB0byB0aGUgcHJldmlvdXNseSBleGlzdGluZyBTY2FubmVyIGNvbXBvbmVudHMiLCJkaXNwbGF5TmFtZSI6IlNjYW5uZXIgVjQgQ29tcG9uZW50IFNldHRpbmdzIiwicGF0aCI6InNjYW5uZXJWNCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSwgc3VjaCBhcyBDZXJ0aWZpY2F0ZSBBdXRob3JpdGllcy4iLCJkaXNwbGF5TmFtZSI6IlRMUyIsInBhdGgiOiJ0bHMifSx7ImRlc2NyaXB0aW9uIjoiQWRkaXRpb25hbCBpbWFnZSBwdWxsIHNlY3JldHMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IGZvciBwdWxsaW5nIGltYWdlcy4iLCJkaXNwbGF5TmFtZSI6IkltYWdlIFB1bGwgU2VjcmV0cyIsInBhdGgiOiJpbWFnZVB1bGxTZWNyZXRzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgU2VjdXJlZCBDbHVzdGVyIFNlcnZpY2VzIGNvbXBvbmVudHMuIiwiZGlzcGxheU5hbWUiOiJDdXN0b21pemF0aW9ucyIsInBhdGgiOiJjdXN0b21pemUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6Ik92ZXJsYXlzIiwiZGlzcGxheU5hbWUiOiJPdmVybGF5cyIsInBhdGgiOiJvdmVybGF5cyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6Ik1vbml0b3JpbmcgY29uZmlndXJhdGlvbi4iLCJkaXNwbGF5TmFtZSI6Ik1vbml0b3JpbmciLCJwYXRoIjoibW9uaXRvcmluZyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0IHRoaXMgcGFyYW1ldGVyIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJlZ2lzdHJ5IGluIGltYWdlcy4gRm9yIGV4YW1wbGUsIG5naW54OmxhdGVzdCAtXHUwMDNlIFx1MDAzY3JlZ2lzdHJ5IG92ZXJyaWRlXHUwMDNlL2xpYnJhcnkvbmdpbng6bGF0ZXN0IiwiZGlzcGxheU5hbWUiOiJDdXN0b20gRGVmYXVsdCBJbWFnZSBSZWdpc3RyeSIsInBhdGgiOiJyZWdpc3RyeU92ZXJyaWRlIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJOZXR3b3JrIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJOZXR3b3JrIiwicGF0aCI6Im5ldHdvcmsiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXG5NaXNjZWxsYW5lb3VzIHNldHRpbmdzLiIsImRpc3BsYXlOYW1lIjoiTWlzY2VsbGFuZW91cyIsInBhdGgiOiJtaXNjIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0IHRvIERpc2FibGVkIHRvIGRpc2FibGUgcG9saWN5IGVuZm9yY2VtZW50IGZvciB0aGUgYWRtaXNzaW9uIGNvbnRyb2xsZXIuIFRoaXMgaXMgbm90IHJlY29tbWVuZGVkLlxuT24gdXBncmFkZXMgdG8gNC45IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIGRlZmF1bHRzIHRvIEVuYWJsZWQgb25seSBpZiBhdCBsZWFzdCBvbmUgb2YgbGlzdGVuT25DcmVhdGVzIG9yIGxpc3Rlbk9uVXBkYXRlcyBpcyB0cnVlLlxuT24gbmV3IGRlcGxveW1lbnRzIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiA0LjksIHRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiRW5mb3JjZW1lbnQiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5lbmZvcmNlbWVudCJ9LHsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRlYW1zIHRvIGJ5cGFzcyBhZG1pc3Npb24gY29udHJvbCBpbiBhIG1vbml0b3JlZCBtYW5uZXIgaW4gdGhlIGV2ZW50IG9mIGFuIGVtZXJnZW5jeS5cblRoZSBkZWZhdWx0IGlzOiBCcmVha0dsYXNzQW5ub3RhdGlvbi4iLCJkaXNwbGF5TmFtZSI6IkJ5cGFzcyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLmJ5cGFzcyJ9LHsiZGVzY3JpcHRpb24iOiJJZiBzZXQgdG8gXCJGYWlsXCIsIHRoZSBhZG1pc3Npb24gY29udHJvbGxlcidzIHdlYmhvb2tzIGFyZSBjb25maWd1cmVkIHRvIGZhaWwtY2xvc2VkIGluIGNhc2UgYWRtaXNzaW9uIGNvbnRyb2xsZXJcbmZhaWxzIHRvIHJlc3BvbmQgaW4gdGltZS4gQSBmYWlsdXJlIHBvbGljeSBcIklnbm9yZVwiIGNvbmZpZ3VyZXMgdGhlIHdlYmhvb2tzIHRvIGZhaWwtb3Blbi5cblRoZSBkZWZhdWx0IGlzOiBJZ25vcmUuIiwiZGlzcGxheU5hbWUiOiJGYWlsdXJlIFBvbGljeSIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLmZhaWx1cmVQb2xpY3kifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG51bWJlciBvZiByZXBsaWNhcyBvZiB0aGUgYWRtaXNzaW9uIGNvbnRyb2wgcG9kLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZGlzcGxheU5hbWUiOiJSZXBsaWNhcyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLnJlcGxpY2FzIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJkaXNwbGF5TmFtZSI6IkNvbnRhY3QgSW1hZ2UgU2Nhbm5lcnMiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5jb250YWN0SW1hZ2VTY2FubmVycyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZGlzcGxheU5hbWUiOiJMaXN0ZW4gT24gQ3JlYXRlcyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLmxpc3Rlbk9uQ3JlYXRlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZGlzcGxheU5hbWUiOiJMaXN0ZW4gT24gRXZlbnRzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wubGlzdGVuT25FdmVudHMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsImRpc3BsYXlOYW1lIjoiTGlzdGVuIE9uIFVwZGF0ZXMiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5saXN0ZW5PblVwZGF0ZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsImRpc3BsYXlOYW1lIjoiVGltZW91dCBTZWNvbmRzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wudGltZW91dFNlY29uZHMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJXaGV0aGVyIGNvbGxlY3Rpb24gb2YgS3ViZXJuZXRlcyBhdWRpdCBsb2dzIHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiBDdXJyZW50bHksIHRoaXMgaXMgb25seVxuc3VwcG9ydGVkIG9uIE9wZW5TaGlmdCA0LCBhbmQgdHJ5aW5nIHRvIGVuYWJsZSBpdCBvbiBub24tT3BlblNoaWZ0IDQgY2x1c3RlcnMgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3IuXG5Vc2UgdGhlICdBdXRvJyBzZXR0aW5nIHRvIGVuYWJsZSBpdCBvbiBjb21wYXRpYmxlIGVudmlyb25tZW50cywgYW5kIGRpc2FibGUgaXQgZWxzZXdoZXJlLlxuVGhlIGRlZmF1bHQgaXM6IEF1dG8uIiwiZGlzcGxheU5hbWUiOiJDb2xsZWN0aW9uIiwicGF0aCI6ImF1ZGl0TG9ncy5jb2xsZWN0aW9uIn0seyJkZXNjcmlwdGlvbiI6IkN1c3RvbSBsYWJlbHMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwiZGlzcGxheU5hbWUiOiJMYWJlbHMiLCJwYXRoIjoiY3VzdG9taXplLmxhYmVscyJ9LHsiZGVzY3JpcHRpb24iOiJDdXN0b20gYW5ub3RhdGlvbnMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwiZGlzcGxheU5hbWUiOiJBbm5vdGF0aW9ucyIsInBhdGgiOiJjdXN0b21pemUuYW5ub3RhdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgb24gbWFuYWdlZCBwb2RzJyBjb250YWluZXJzLiIsImRpc3BsYXlOYW1lIjoiRW52aXJvbm1lbnQgVmFyaWFibGVzIiwicGF0aCI6ImN1c3RvbWl6ZS5lbnZWYXJzIn0seyJkZXNjcmlwdGlvbiI6Ikdsb2JhbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZvciBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIERhZW1vblNldHMgKENvbGxlY3RvcikgYXJlIG5vdCBhZmZlY3RlZC5cbkNvbXBvbmVudC1sZXZlbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHNldHRpbmdzIG92ZXJyaWRlIHRoZXNlIGRlZmF1bHRzIG9uIGEgZmllbGQtYnktZmllbGQgYmFzaXMuIiwiZGlzcGxheU5hbWUiOiJEZXBsb3ltZW50IERlZmF1bHRzIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMifSx7ImRlc2NyaXB0aW9uIjoiUGluIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMgdG8gc3BlY2lmaWMgbm9kZSB0eXBlcy4gVGhpcyBpcyBhIGNvbnZlbmllbmNlIHNldHRpbmdcbnRoYXQgYXV0b21hdGljYWxseSBjb25maWd1cmVzIGJvdGggbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyB3aXRoIHByZWRlZmluZWQgdmFsdWVzLlxuVXNlIHRoaXMgZm9yIGNvbW1vbiBzY2VuYXJpb3MgbGlrZSBydW5uaW5nIG9uIE9wZW5TaGlmdCBpbmZyYXN0cnVjdHVyZSBub2Rlcy5cbkZvciBjdXN0b20gbm9kZSBzZWxlY3Rpb24sIHVzZSB0aGUgZXhwbGljaXQgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmaWVsZHMgaW5zdGVhZC5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggbm9kZVNlbGVjdG9yIG9yIHRvbGVyYXRpb25zIGZpZWxkcy5cblRoZSBkZWZhdWx0IGlzOiBOb25lLiIsImRpc3BsYXlOYW1lIjoiUGluIFRvIE5vZGVzIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMucGluVG9Ob2RlcyJ9LHsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IG5vZGVTZWxlY3RvciBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIGZvciBjdXN0b20gbm9kZVxuc2VsZWN0aW9uIGNyaXRlcmlhLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IHRvbGVyYXRpb25zIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgd2hlbiB5b3VyIHRhcmdldFxubm9kZXMgaGF2ZSBjdXN0b20gdGFpbnRzIHRoYXQgcG9kcyBtdXN0IHRvbGVyYXRlLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImltYWdlUHVsbFNlY3JldHNbMF0ubmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Il19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuU2V0IHRoaXMgdG8gdHJ1ZSB0byBoYXZlIHRoZSBvcGVyYXRvciBjcmVhdGUgU2VjdXJpdHlDb250ZXh0Q29uc3RyYWludHMgKFNDQ3MpIGZvciB0aGUgb3BlcmFuZHMuIFRoaXNcbmlzbid0IHVzdWFsbHkgbmVlZGVkLCBhbmQgbWF5IGludGVyZmVyZSB3aXRoIG90aGVyIHdvcmtsb2Fkcy4iLCJkaXNwbGF5TmFtZSI6IkNyZWF0ZSBTZWN1cml0eUNvbnRleHRDb25zdHJhaW50cyBmb3IgT3BlcmFuZCIsInBhdGgiOiJtaXNjLmNyZWF0ZVNDQ3MiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogdHJ1ZS4iLCJkaXNwbGF5TmFtZSI6IkVuYWJsZWQiLCJwYXRoIjoibW9uaXRvcmluZy5vcGVuc2hpZnQuZW5hYmxlZCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpib29sZWFuU3dpdGNoIl19LHsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiTmV0d29yayBQb2xpY2llcyIsInBhdGgiOiJuZXR3b3JrLnBvbGljaWVzIn0seyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsImRpc3BsYXlOYW1lIjoiQVBJIFZlcnNpb24iLCJwYXRoIjoib3ZlcmxheXNbMF0uYXBpVmVyc2lvbiJ9LHsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZSBraW5kLiIsImRpc3BsYXlOYW1lIjoiS2luZCIsInBhdGgiOiJvdmVybGF5c1swXS5raW5kIn0seyJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgcmVzb3VyY2UuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6Im92ZXJsYXlzWzBdLm5hbWUifSx7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwiZGlzcGxheU5hbWUiOiJPcHRpb25hbCIsInBhdGgiOiJvdmVybGF5c1swXS5vcHRpb25hbCJ9LHsiZGVzY3JpcHRpb24iOiJMaXN0IG9mIHBhdGNoZXMgdG8gYXBwbHkgdG8gcmVzb3VyY2UuIiwiZGlzcGxheU5hbWUiOiJQYXRjaGVzIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXMifSx7ImRlc2NyaXB0aW9uIjoiUGF0aCBvZiB0aGUgZm9ybSBhLltrZXkxOnZhbHVlMV0uYi5bOnZhbHVlMl1cbldoZXJlIFtrZXkxOnZhbHVlMV0gaXMgYSBzZWxlY3RvciBmb3IgYSBrZXktdmFsdWUgcGFpciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBhbmQgWzp2YWx1ZV0gaXMgYSB2YWx1ZVxuc2VsZWN0b3IgdG8gaWRlbnRpZnkgYSBsaXN0IGVsZW1lbnQgaW4gYSBsZWFmIGxpc3QuXG5BbGwgcGF0aCBpbnRlcm1lZGlhdGUgbm9kZXMgbXVzdCBleGlzdC4iLCJkaXNwbGF5TmFtZSI6IlBhdGgiLCJwYXRoIjoib3ZlcmxheXNbMF0ucGF0Y2hlc1swXS5wYXRoIn0seyJkZXNjcmlwdGlvbiI6IlZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5Gb3IgYWRkLCB0aGUgcGF0aCBzaG91bGQgYmUgYSBuZXcgbGVhZi5cbkZvciBkZWxldGUsIHZhbHVlIHNob3VsZCBiZSB1bnNldC5cbkZvciByZXBsYWNlLCBwYXRoIHNob3VsZCByZWZlcmVuY2UgYW4gZXhpc3Rpbmcgbm9kZS5cbkFsbCB2YWx1ZXMgYXJlIHN0cmluZ3MgYnV0IGFyZSBjb252ZXJ0ZWQgaW50byBhcHByb3ByaWF0ZSB0eXBlIGJhc2VkIG9uIHNjaGVtYS4iLCJkaXNwbGF5TmFtZSI6IlZhbHVlIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXNbMF0udmFsdWUifSx7ImRlc2NyaXB0aW9uIjoiVmVyYmF0aW0gdmFsdWUgdG8gYWRkLCBkZWxldGUgb3IgcmVwbGFjZS5cblNhbWUgYXMgVmFsdWUsIGJ1dCB0aGUgY29udGVudCBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgWUFNTCBhbmQgaXMgdHJlYXRlZCBhcyBhIGxpdGVyYWwgc3RyaW5nIGluc3RlYWQuXG5BdCBsZWFzdCBvbmUgb2YgVmFsdWUgYW5kIFZlcmJhdGltIG11c3QgYmUgZW1wdHkuIiwiZGlzcGxheU5hbWUiOiJWZXJiYXRpbSIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzWzBdLnZlcmJhdGltIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgQ29sbGVjdG9yIGNvbnRhaW5lciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGNvbGxlY3RpbmcgcHJvY2VzcyBhbmQgbmV0d29ya2luZ1xuYWN0aXZpdHkgYXQgdGhlIGhvc3QgbGV2ZWwuIiwiZGlzcGxheU5hbWUiOiJDb2xsZWN0b3IgU2V0dGluZ3MiLCJwYXRoIjoicGVyTm9kZS5jb2xsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBDb21wbGlhbmNlIGNvbnRhaW5lciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGNoZWNraW5nIGhvc3QtbGV2ZWwgY29uZmlndXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJDb21wbGlhbmNlIFNldHRpbmdzIiwicGF0aCI6InBlck5vZGUuY29tcGxpYW5jZSJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIE5vZGUtSW52ZW50b3J5IGNvbnRhaW5lciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHNjYW5uaW5nIHRoZSBOb2RlcycgZmlsZXN5c3RlbS4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2Nhbm5pbmcgU2V0dGluZ3MiLCJwYXRoIjoicGVyTm9kZS5ub2RlSW52ZW50b3J5In0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Vuc2l0aXZlIEZpbGUgQWN0aXZpdHkgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgZmlsZSBhY3Rpdml0eSBtb25pdG9yaW5nIG9uIHRoZSBOb2RlLiIsImRpc3BsYXlOYW1lIjoiU0ZBIiwicGF0aCI6InBlck5vZGUuc2ZhIn0seyJkZXNjcmlwdGlvbiI6IlRvIGVuc3VyZSBjb21wcmVoZW5zaXZlIG1vbml0b3Jpbmcgb2YgeW91ciBjbHVzdGVyIGFjdGl2aXR5LCBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHlcbndpbGwgcnVuIHNlcnZpY2VzIG9uIGV2ZXJ5IG5vZGUgaW4gdGhlIGNsdXN0ZXIsIGluY2x1ZGluZyB0YWludGVkIG5vZGVzIGJ5IGRlZmF1bHQuIElmIHlvdSBkb1xubm90IHdhbnQgdGhpcyBiZWhhdmlvciwgcGxlYXNlIHNlbGVjdCAnQXZvaWRUYWludHMnIGhlcmUuXG5UaGUgZGVmYXVsdCBpczogVG9sZXJhdGVUYWludHMuIiwiZGlzcGxheU5hbWUiOiJUYWludCBUb2xlcmF0aW9uIiwicGF0aCI6InBlck5vZGUudGFpbnRUb2xlcmF0aW9uIn0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InBlck5vZGUuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG1ldGhvZCBmb3Igc3lzdGVtLWxldmVsIGRhdGEgY29sbGVjdGlvbi4gQ09SRV9CUEYgaXMgcmVjb21tZW5kZWQuXG5JZiB5b3Ugc2VsZWN0IFwiTm9Db2xsZWN0aW9uXCIsIHlvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHNlZSBhbnkgaW5mb3JtYXRpb24gYWJvdXQgbmV0d29yayBhY3Rpdml0eVxuYW5kIHByb2Nlc3MgZXhlY3V0aW9ucy4gVGhlIHJlbWFpbmluZyBzZXR0aW5ncyBpbiB0aGlzIHNlY3Rpb24gd2lsbCBub3QgaGF2ZSBhbnkgZWZmZWN0LlxuVGhlIHZhbHVlIGlzIGEgc3ViamVjdCBvZiBjb252ZXJzaW9uIGJ5IHRoZSBvcGVyYXRvciBpZiBuZWVkZWQsIGUuZy4gdG9cbnJlbW92ZSBkZXByZWNhdGVkIG1ldGhvZHMuXG5UaGUgZGVmYXVsdCBpczogQ09SRV9CUEYuIiwiZGlzcGxheU5hbWUiOiJDb2xsZWN0aW9uIiwicGF0aCI6InBlck5vZGUuY29sbGVjdG9yLmNvbGxlY3Rpb24iLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6c2VsZWN0OkNPUkVfQlBGIiwidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpzZWxlY3Q6Tm9Db2xsZWN0aW9uIl19LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSBmaWVsZC4iLCJkaXNwbGF5TmFtZSI6IkltYWdlIEZsYXZvciIsInBhdGgiOiJwZXJOb2RlLmNvbGxlY3Rvci5pbWFnZUZsYXZvciIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsImRpc3BsYXlOYW1lIjoiRm9yY2UgQ29sbGVjdGlvbiIsInBhdGgiOiJwZXJOb2RlLmNvbGxlY3Rvci5mb3JjZUNvbGxlY3Rpb24iLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InBlck5vZGUuY29sbGVjdG9yLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJwZXJOb2RlLmNvbXBsaWFuY2UucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InBlck5vZGUubm9kZUludmVudG9yeS5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZmllcyB3aGV0aGVyIFNlbnNpdGl2ZSBGaWxlIEFjdGl2aXR5IGFnZW50IGlzIGRlcGxveWVkLlxuVGhlIGRlZmF1bHQgaXM6IERpc2FibGVkLiIsImRpc3BsYXlOYW1lIjoiU0ZBIEFnZW50IiwicGF0aCI6InBlck5vZGUuc2ZhLmFnZW50In0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoicGVyTm9kZS5zZmEucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJTaG91bGQgcHJvY2VzcyBiYXNlbGluZXMgYmUgYXV0b21hdGljYWxseSBsb2NrZWQgd2hlbiB0aGUgb2JzZXJ2YXRpb24gcGVyaW9kICgxIGhvdXIgYnkgZGVmYXVsdCkgZW5kcy5cblRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkF1dG8gTG9jayIsInBhdGgiOiJwcm9jZXNzQmFzZWxpbmVzLmF1dG9Mb2NrIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnNlbGVjdDpFbmFibGVkIiwidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpzZWxlY3Q6RGlzYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSBkbyBub3Qgd2FudCB0byBkZXBsb3kgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLCB5b3UgY2FuIGRpc2FibGUgaXQgaGVyZVxuKG5vdCByZWNvbW1lbmRlZCkuXG5JZiB5b3UgZG8gc28sIGFsbCB0aGUgc2V0dGluZ3MgaW4gdGhpcyBzZWN0aW9uIHdpbGwgaGF2ZSBubyBlZmZlY3QuXG5UaGUgZGVmYXVsdCBpczogQXV0b1NlbnNlLiIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBDb21wb25lbnQiLCJwYXRoIjoic2Nhbm5lci5zY2FubmVyQ29tcG9uZW50In0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGFuYWx5emVyIGRlcGxveW1lbnQsIHN1Y2ggYXMgZm9yIGF1dG9zY2FsaW5nLiIsImRpc3BsYXlOYW1lIjoiQW5hbHl6ZXIiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplciJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBkYXRhYmFzZSB1c2VkIGJ5IHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgU2Nhbm5lci4iLCJkaXNwbGF5TmFtZSI6IkRCIiwicGF0aCI6InNjYW5uZXIuZGIifSx7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiBhbmFseXplciByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcuIiwiZGlzcGxheU5hbWUiOiJTY2FsaW5nIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmciLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLmF1dG9TY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZGlzcGxheU5hbWUiOiJEZWZhdWx0IFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5yZXBsaWNhcyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogMi4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1pbmltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLm1pblJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNYXhpbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5tYXhSZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lci5hbmFseXplci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lci5kYi5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lci5kYi5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXIuZGIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXIuZGIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSBTY2FubmVyIFY0IGNvbXBvbmVudCBzZXQgdGhpcyB0byBcIkF1dG9TZW5zZVwiLlxuQSB2YWx1ZSBvZiBcIkF1dG9TZW5zZVwiIG1lYW5zIHRoYXQgU2Nhbm5lciBWNCBzaG91bGQgYmUgaW5zdGFsbGVkLFxudW5sZXNzIHRoZXJlIGlzIGEgQ2VudHJhbCByZXNvdXJjZSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UuXG5JbiB0aGF0IGNhc2UgdHlwaWNhbGx5IGEgY2VudHJhbCBTY2FubmVyIFY0IHdpbGwgYmUgZGVwbG95ZWQgYXMgYSBjb21wb25lbnQgb2YgQ2VudHJhbC5cbkEgdmFsdWUgb2YgXCJEaXNhYmxlZFwiIG1lYW5zIHRoYXQgU2Nhbm5lciBWNCBzaG91bGQgbm90IGJlIGluc3RhbGxlZC5cbklmIHRoaXMgZmllbGQgaXMgbm90IHNwZWNpZmllZCBvciBzZXQgdG8gXCJEZWZhdWx0XCIsIHRoZSBmb2xsb3dpbmcgZGVmYXVsdGluZyB0YWtlcyBwbGFjZTpcbiogZm9yIHVwZ3JhZGVzIHRvIDQuOCBmcm9tIHByZXZpb3VzIHJlbGVhc2VzLCB0aGUgZGVmYXVsdCBpczogRGlzYWJsZWQ7XG4qIGZvciBuZXcgaW5zdGFsbGF0aW9ucyBzdGFydGluZyB3aXRoIEFDUyA0LjgsIHRoZSBkZWZhdWx0IGlzOiBBdXRvU2Vuc2UuIiwiZGlzcGxheU5hbWUiOiJTY2FubmVyIFY0IGNvbXBvbmVudCIsInBhdGgiOiJzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRleGVyIGRlcGxveW1lbnQuIiwiZGlzcGxheU5hbWUiOiJJbmRleGVyIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpBdXRvU2Vuc2UiXX0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIERCIGRlcGxveW1lbnQuIiwiZGlzcGxheU5hbWUiOiJEQiIsInBhdGgiOiJzY2FubmVyVjQuZGIiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5zY2FubmVyQ29tcG9uZW50OkF1dG9TZW5zZSJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBtb25pdG9yaW5nIGVuZHBvaW50IGZvciBTY2FubmVyIFY0LiBUaGUgbW9uaXRvcmluZyBlbmRwb2ludFxuYWxsb3dzIG90aGVyIHNlcnZpY2VzIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tIFNjYW5uZXIgVjQsIHByb3ZpZGVkIGluXG5Qcm9tZXRoZXVzIGNvbXBhdGlibGUgZm9ybWF0LiIsImRpc3BsYXlOYW1lIjoiTW9uaXRvcmluZyIsInBhdGgiOiJzY2FubmVyVjQubW9uaXRvcmluZyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6QXV0b1NlbnNlIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBTY2FubmVyIFY0IHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLlxuWW91IGNhbiB1c2UgYSBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAodGhlIHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhIGhvc3QgcGF0aCxcbm9yIGFuIGVtcHR5RGlyIHZvbHVtZSBpZiBTY2FubmVyIFY0IGlzIHJ1bm5pbmcgb24gYSBzZWN1cmVkIGNsdXN0ZXIgd2l0aG91dCBkZWZhdWx0IFN0b3JhZ2VDbGFzcy4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbmNlIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZSJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXJWNC5kYi5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lclY0LmRiLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyVjQuZGIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiVXNlcyBhIEt1YmVybmV0ZXMgcGVyc2lzdGVudCB2b2x1bWUgY2xhaW0gKFBWQykgdG8gbWFuYWdlIHRoZSBzdG9yYWdlIGxvY2F0aW9uIG9mIHBlcnNpc3RlbnQgZGF0YS5cblJlY29tbWVuZGVkIGZvciBtb3N0IHVzZXJzLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVudCB2b2x1bWUgY2xhaW0iLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbSJ9LHsiZGVzY3JpcHRpb24iOiJTdG9yZXMgcGVyc2lzdGVudCBkYXRhIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBob3N0LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIHNob3VsZCBvbmx5XG5iZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSBub2RlIHNlbGVjdG9yIChvbmx5IGF2YWlsYWJsZSBpbiBZQU1MIHZpZXcpLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBwYXRoIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aC5wYXRoIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IHNjYW5uZXItdjQtZGIuIiwiZGlzcGxheU5hbWUiOiJDbGFpbSBOYW1lIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uY2xhaW1OYW1lIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBzaXplIG9mIHRoZSBwZXJzaXN0ZW50IHZvbHVtZSB3aGVuIGNyZWF0ZWQgdGhyb3VnaCB0aGUgY2xhaW0uIElmIGEgY2xhaW0gd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCxcbnRoaXMgY2FuIGJlIHVzZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGVwbG95bWVudCB0byByZXNpemUgKGdyb3cpIHRoZSB2b2x1bWUgKG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWVcbnN0b3JhZ2UgY2xhc3MgY29udHJvbGxlcnMpLiIsImRpc3BsYXlOYW1lIjoiU2l6ZSIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnNpemUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGV4dCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwiZGlzcGxheU5hbWUiOiJTdG9yYWdlIENsYXNzIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc3RvcmFnZUNsYXNzTmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U3RvcmFnZUNsYXNzIl19LHsiZGVzY3JpcHRpb24iOiJDb250cm9scyB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIGFuZCBhdXRvc2NhbGluZyBmb3IgdGhpcyBjb21wb25lbnQuIiwiZGlzcGxheU5hbWUiOiJTY2FsaW5nIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBlbmFibGVkLCB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudCByZXBsaWNhcyBpcyBtYW5hZ2VkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBsb2FkLCB3aXRoaW4gdGhlIGxpbWl0c1xuc3BlY2lmaWVkIGJlbG93LlxuVGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLmF1dG9TY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZGlzcGxheU5hbWUiOiJEZWZhdWx0IFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcucmVwbGljYXMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDIuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNaW5pbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcubWluUmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNYXhpbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcubWF4UmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImRpc3BsYXlOYW1lIjoiRXhwb3NlIEVuZHBvaW50IiwicGF0aCI6InNjYW5uZXJWNC5tb25pdG9yaW5nLmV4cG9zZUVuZHBvaW50In0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Vuc29yLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzZW5zb3Iubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzZW5zb3IudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNlbnNvci5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3MgeW91IHRvIHNwZWNpZnkgYWRkaXRpb25hbCB0cnVzdGVkIFJvb3QgQ0FzLiIsImRpc3BsYXlOYW1lIjoiQWRkaXRpb25hbCBDQXMiLCJwYXRoIjoidGxzLmFkZGl0aW9uYWxDQXMifV0sInN0YXR1c0Rlc2NyaXB0b3JzIjpbeyJkZXNjcmlwdGlvbiI6IlRoZSBkZXBsb3llZCB2ZXJzaW9uIG9mIHRoZSBwcm9kdWN0LiIsImRpc3BsYXlOYW1lIjoiUHJvZHVjdCBWZXJzaW9uIiwicGF0aCI6InByb2R1Y3RWZXJzaW9uIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBhc3NpZ25lZCBjbHVzdGVyIG5hbWUgcGVyIHRoZSBzcGVjLiBUaGlzIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyd2FyZHMuIElmIHlvdSBuZWVkIHRvIGNoYW5nZSB0aGVcbmNsdXN0ZXIgbmFtZSwgcGxlYXNlIGRlbGV0ZSBhbmQgcmVjcmVhdGUgdGhpcyByZXNvdXJjZS4iLCJkaXNwbGF5TmFtZSI6IkNsdXN0ZXIgTmFtZSIsInBhdGgiOiJjbHVzdGVyTmFtZSJ9LHsiZGVzY3JpcHRpb24iOiJPYnNlcnZlZEdlbmVyYXRpb24gaXMgdGhlIGdlbmVyYXRpb24gbW9zdCByZWNlbnRseSBvYnNlcnZlZCBieSB0aGUgY29udHJvbGxlci4iLCJkaXNwbGF5TmFtZSI6Ik9ic2VydmVkIEdlbmVyYXRpb24iLCJwYXRoIjoib2JzZXJ2ZWRHZW5lcmF0aW9uIn1dLCJ2ZXJzaW9uIjoidjFhbHBoYTEifSx7ImRlc2NyaXB0aW9uIjoiU2VjdXJpdHlQb2xpY3kgaXMgdGhlIHNjaGVtYSBmb3IgdGhlIHBvbGljaWVzIEFQSS4iLCJkaXNwbGF5TmFtZSI6IlNlY3VyaXR5IFBvbGljeSIsImtpbmQiOiJTZWN1cml0eVBvbGljeSIsIm5hbWUiOiJzZWN1cml0eXBvbGljaWVzLmNvbmZpZy5zdGFja3JveC5pbyIsInJlc291cmNlcyI6W3sia2luZCI6IkRlcGxveW1lbnQiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn1dLCJ2ZXJzaW9uIjoidjFhbHBoYTEifV19LCJkZXNjcmlwdGlvbiI6IiMjIFdoeSB1c2UgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IGZvciBLdWJlcm5ldGVzP1xuXG5Qcm90ZWN0aW5nIGNsb3VkLW5hdGl2ZSBhcHBsaWNhdGlvbnMgcmVxdWlyZXMgc2lnbmlmaWNhbnQgY2hhbmdlcyBpbiBob3cgd2UgYXBwcm9hY2ggc2VjdXJpdHnigJR3ZSBtdXN0IGFwcGx5IGNvbnRyb2xzIGVhcmxpZXIgaW4gdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50IGxpZmUgY3ljbGUsIHVzZSB0aGUgaW5mcmFzdHJ1Y3R1cmUgaXRzZWxmIHRvIGFwcGx5IGNvbnRyb2xzLCBhbmQga2VlcCB1cCB3aXRoIGluY3JlYXNpbmdseSByYXBpZCByZWxlYXNlIHNjaGVkdWxlcy5cblxuXG5SZWQgSGF0wq4gQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBmb3IgS3ViZXJuZXRlcywgcG93ZXJlZCBieSBTdGFja1JveCB0ZWNobm9sb2d5LCBwcm90ZWN0cyB5b3VyIHZpdGFsIGFwcGxpY2F0aW9ucyBhY3Jvc3MgYnVpbGQsIGRlcGxveSwgYW5kIHJ1bnRpbWUuIE91ciBzb2Z0d2FyZSBkZXBsb3lzIGluIHlvdXIgaW5mcmFzdHJ1Y3R1cmUgYW5kIGludGVncmF0ZXMgd2l0aCB5b3VyIERldk9wcyB0b29saW5nIGFuZCB3b3JrZmxvd3MgdG8gZGVsaXZlciBiZXR0ZXIgc2VjdXJpdHkgYW5kIGNvbXBsaWFuY2UuIFRoZSBwb2xpY3kgZW5naW5lIGluY2x1ZGVzIGh1bmRyZWRzIG9mIGJ1aWx0LWluIGNvbnRyb2xzIHRvIGVuZm9yY2UgRGV2T3BzIGFuZCBzZWN1cml0eSBiZXN0IHByYWN0aWNlcywgaW5kdXN0cnkgc3RhbmRhcmRzIHN1Y2ggYXMgQ0lTIEJlbmNobWFya3MgYW5kIE5hdGlvbmFsIEluc3RpdHV0ZSBvZiBTdGFuZGFyZHMgVGVjaG5vbG9neSAoTklTVCkgZ3VpZGVsaW5lcywgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IG9mIGJvdGggY29udGFpbmVycyBhbmQgS3ViZXJuZXRlcywgYW5kIHJ1bnRpbWUgc2VjdXJpdHkuXG5cblJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBmb3IgS3ViZXJuZXRlcyBwcm92aWRlcyBhIEt1YmVybmV0ZXMtbmF0aXZlIGFyY2hpdGVjdHVyZSBmb3IgY29udGFpbmVyIHNlY3VyaXR5LCBlbmFibGluZyBEZXZPcHMgYW5kIEluZm9TZWMgdGVhbXMgdG8gb3BlcmF0aW9uYWxpemUgc2VjdXJpdHkuXG5cbiMjIEZlYXR1cmVzIGFuZCBCZW5lZml0c1xuXG4qKkt1YmVybmV0ZXMtbmF0aXZlIHNlY3VyaXR5OioqXG4xLiBJbmNyZWFzZXMgcHJvdGVjdGlvbi5cbjEuIEVsaW1pbmF0ZXMgYmxpbmQgc3BvdHMsIHByb3ZpZGluZyBzdGFmZiB3aXRoIGluc2lnaHRzIGludG8gY3JpdGljYWwgdnVsbmVyYWJpbGl0aWVzIGFuZCB0aHJlYXQgdmVjdG9ycy5cbjEuIFJlZHVjZXMgdGltZSBhbmQgY29zdHMuXG4xLiBSZWR1Y2VzIHRoZSB0aW1lIGFuZCBlZmZvcnQgbmVlZGVkIHRvIGltcGxlbWVudCBzZWN1cml0eSBhbmQgc3RyZWFtbGluZXMgc2VjdXJpdHkgYW5hbHlzaXMsIGludmVzdGlnYXRpb24sIGFuZCByZW1lZGlhdGlvbiB1c2luZyB0aGUgcmljaCBjb250ZXh0IEt1YmVybmV0ZXMgcHJvdmlkZXMuXG4xLiBJbmNyZWFzZXMgc2NhbGFiaWxpdHkgYW5kIHBvcnRhYmlsaXR5LlxuMS4gUHJvdmlkZXMgc2NhbGFiaWxpdHkgYW5kIHJlc2lsaWVuY3kgbmF0aXZlIHRvIEt1YmVybmV0ZXMsIGF2b2lkaW5nIG9wZXJhdGlvbmFsIGNvbmZsaWN0IGFuZCBjb21wbGV4aXR5IHRoYXQgY2FuIHJlc3VsdCBmcm9tIG91dC1vZi1iYW5kIHNlY3VyaXR5IGNvbnRyb2xzLlxuXG4jIyBVc2luZyB0aGUgUkhBQ1MgT3BlcmF0b3JcblxuKipSSEFDUyBPcGVyYXRvciBjaGFubmVsczoqKlxuXG5SZWQgSGF0IHByb3ZpZGVzIHRoZSBSSEFDUyBPcGVyYXRvciBieSB1c2luZyB0aGUgZm9sbG93aW5nIHVwZGF0ZSBjaGFubmVscyBpbiB0aGUgUmVkIEhhdCBPcGVyYXRvciBjYXRhbG9nOlxuXG4qIGBzdGFibGVgOiBQcm92aWRlcyB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbiBhbmQgcGF0Y2hlcyB0byB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbi5cbiAgVXNpbmcgdGhlIGBzdGFibGVgIGNoYW5uZWwgYW5kIGNvbmZpZ3VyaW5nIGF1dG9tYXRpYyBvcGVyYXRvciB1cGdyYWRlcyBlbnN1cmVzIHRoYXQgdGhlIG1vc3QgcmVjZW50IFJIQUNTIHZlcnNpb24gaXMgZGVwbG95ZWQuXG4qIGByaGFjcy14Lnl5YCAoZm9yIGV4YW1wbGUsIGByaGFjcy0zLjc0YCk6IENoYW5uZWxzIGZvbGxvdyBhIHNwZWNpZmljIFJIQUNTIHZlcnNpb24gYW5kIGluY2x1ZGUgYWxsIHBhdGNoZXMgdG8gdGhhdCB2ZXJzaW9uIChlLmcuIGAzLjc0LjBgLCBgMy43NC4xYCwgLi4uKS5cblxuTm90ZSB0aGF0IHRoZSBgbGF0ZXN0YCBjaGFubmVsIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIG5vdCB1cGRhdGVkIGFmdGVyIFJIQUNTIHZlcnNpb24gMy43NC4gTmV3ZXIgdmVyc2lvbnMgYXJlIHB1Ymxpc2hlZCB0byB0aGUgYHN0YWJsZWAgY2hhbm5lbC5cblxuKipSSEFDUyBjb21lcyB3aXRoIHR3byBjdXN0b20gcmVzb3VyY2VzOioqXG5cbjEuICoqQ2VudHJhbCBTZXJ2aWNlcyoqIC0gQ2VudHJhbCBpcyBhIGRlcGxveW1lbnQgcmVxdWlyZWQgb24gb25seSBvbmUgY2x1c3RlciBpbiB5b3VyIGVudmlyb25tZW50LiBVc2VycyBpbnRlcmFjdCB3aXRoIFJIQUNTIHZpYSB0aGUgdXNlciBpbnRlcmZhY2Ugb3IgQVBJcyBvbiBDZW50cmFsLiBDZW50cmFsIGFsc28gc2VuZHMgbm90aWZpY2F0aW9ucyBmb3IgdmlvbGF0aW9ucyBhbmQgaW50ZXJhY3RzIHdpdGggaW50ZWdyYXRpb25zLiBVc2VycyBtYXkgc2VsZWN0IGV4cG9zdXJlcyBmb3IgQ2VudHJhbCB0aGF0IGJlc3QgbWVldCB0aGVpciBlbnZpcm9ubWVudC5cblxuMi4gKipTZWN1cmVkIENsdXN0ZXIgU2VydmljZXMqKiAtIFNlY3VyZWQgY2x1c3RlciBzZXJ2aWNlcyBhcmUgcGxhY2VkIG9uIGVhY2ggY2x1c3RlciB5b3UgbWFuYWdlIGFuZCByZXBvcnQgYmFjayB0byBDZW50cmFsLiBUaGVzZSBzZXJ2aWNlcyBhbGxvdyB1c2VycyB0byBlbmZvcmNlIHBvbGljaWVzIGFuZCBtb25pdG9yIHlvdXIgT3BlblNoaWZ0IGFuZCBLdWJlcm5ldGVzIGNsdXN0ZXJzLiBTZWN1cmVkIENsdXN0ZXIgU2VydmljZXMgY29tZSBhcyB0d28gRGVwbG95bWVudHMgKFNlbnNvciBhbmQgQWRtaXNzaW9uIENvbnRyb2xsZXIpIGFuZCBvbmUgRGFlbW9uU2V0IChDb2xsZWN0b3IpLlxuXG4qKkNvbnNvbGUgUGx1Z2luOioqIFJIQUNTIHByb3ZpZGVzIGEgZHluYW1pYyBwbHVnaW4gdGhhdCBkaXNwbGF5cyB2dWxuZXJhYmlsaXR5IG1hbmFnZW1lbnQgaW5mb3JtYXRpb24gaW4gdGhlIE9wZW5TaGlmdCB3ZWIgY29uc29sZS4gSW5zdGFsbCBhIFNlY3VyZWRDbHVzdGVyIHRvIGRlcGxveSB0aGUgcGx1Z2luLiBFbmFibGUgdGhlIHBsdWdpbiBieSBzZWxlY3RpbmcgKk9wZXJhdG9ycyogXHUwMDNlICpJbnN0YWxsZWQgT3BlcmF0b3JzKiBvciBieSBtb2RpZnlpbmcgdGhlIGNvbnNvbGUgT3BlcmF0b3IgY29uZmlndXJhdGlvbi5cbioqSW1wb3J0YW50OioqIFRoZSBDb25zb2xlIFBsdWdpbiByZXF1aXJlcyBPcGVuU2hpZnQgNC4xOSBvciBsYXRlci5cblxuIyMjIENlbnRyYWwgU2VydmljZXMgRXhwbGFpbmVkXG5cbnwgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXBsb3ltZW50IFR5cGUgfCBEZXNjcmlwdGlvbiAgICAgfFxufCA6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IDotLS0tLS0tLS0tLS0tLSB8IDotLS0tLS0tLS0tLS0tLSB8XG58IENlbnRyYWwgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVwbG95bWVudCAgICAgIHwgVXNlcnMgaW50ZXJhY3Qgd2l0aCBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgdGhyb3VnaCB0aGUgdXNlciBpbnRlcmZhY2Ugb3IgQVBJcyBvbiBDZW50cmFsLiBDZW50cmFsIGFsc28gc2VuZHMgbm90aWZpY2F0aW9ucyBmb3IgdmlvbGF0aW9ucyBhbmQgaW50ZXJhY3RzIHdpdGggaW50ZWdyYXRpb25zLiB8XG58IENlbnRyYWwgREIgICAgICAgICAgICAgICAgICAgICAgIHwgRGVwbG95bWVudCAgICAgIHwgQ2VudHJhbCBEQiBpcyBhIFBvc3RncmVTUUwtYmFzZWQgcGVyc2lzdGVudCBzdG9yYWdlIGZvciB0aGUgZGF0YSBjb2xsZWN0ZWQgYW5kIG1hbmFnZWQgYnkgQ2VudHJhbC4gfFxufCBTY2FubmVyICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IFNjYW5uZXIgaXMgYSBSZWQgSGF0IGRldmVsb3BlZCBhbmQgY2VydGlmaWVkIGltYWdlIHNjYW5uZXIuIFNjYW5uZXIgYW5hbHl6ZXMgYW5kIHJlcG9ydHMgdnVsbmVyYWJpbGl0aWVzIGZvciBpbWFnZXMuIFNjYW5uZXIgdXNlcyBIUEEgdG8gc2NhbGUgdGhlIG51bWJlciBvZiByZXBsaWNhcyBiYXNlZCBvbiB3b3JrbG9hZC4gfFxufCBTY2FubmVyIERCICAgICAgICAgICAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IFNjYW5uZXIgREIgaXMgYSBjYWNoZSBmb3IgdnVsbmVyYWJpbGl0eSBkZWZpbml0aW9ucyB0byBzZXJ2ZSB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nIHVzZSBjYXNlcyB0aHJvdWdob3V0IHRoZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBsaWZlIGN5Y2xlLiB8XG5cbiMjIyBTZWN1cmVkIENsdXN0ZXIgU2VydmljZXMgRXhwbGFpbmVkXG5cbnwgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXBsb3ltZW50IFR5cGUgfCBEZXNjcmlwdGlvbiAgICAgfFxufCA6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IDotLS0tLS0tLS0tLS0tLSB8IDotLS0tLS0tLS0tLS0tLSB8XG58IFNlbnNvciAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVwbG95bWVudCAgICAgIHwgU2Vuc29yIGFuYWx5emVzIGFuZCBtb25pdG9ycyBLdWJlcm5ldGVzIGluIHNlY3VyZWQgY2x1c3RlcnMuIHxcbnwgQ29sbGVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgfCBEYWVtb25TZXQgICAgICAgfCBBbmFseXplcyBhbmQgbW9uaXRvcnMgY29udGFpbmVyIGFjdGl2aXR5IG9uIEt1YmVybmV0ZXMgbm9kZXMufFxufCBBZG1pc3Npb24gQ29udHJvbGxlciAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IFZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvbiBmb3IgZW5mb3JjaW5nIHBvbGljaWVzIGluIHRoZSBkZXBsb3kgbGlmZWN5Y2xlLiB8XG5cbiMjIyBDZW50cmFsIEN1c3RvbSBSZXNvdXJjZVxuXG5DZW50cmFsIFNlcnZpY2VzIGlzIHRoZSBjb25maWd1cmF0aW9uIHRlbXBsYXRlIGZvciBSSEFDUyBDZW50cmFsIGRlcGxveW1lbnQuIEZvciBhbGwgY3VzdG9taXphdGlvbiBvcHRpb25zLCBwbGVhc2UgdmlzaXQgdGhlIFJIQUNTIGRvY3VtZW50YXRpb24uXG5cbiMjIyBTZWN1cmVkQ2x1c3RlciBDdXN0b20gUmVzb3VyY2VcblxuU2VjdXJlZENsdXN0ZXIgaXMgdGhlIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9yIHRoZSBSSEFDUyBTZWN1cmVkIENsdXN0ZXIgc2VydmljZXMuXG5cbiMjIyMgSW5zdGFsbGF0aW9uIFByZXJlcXVpc2l0ZXNcblxuQmVmb3JlIGRlcGxveWluZyBhIFNlY3VyZWRDbHVzdGVyIHJlc291cmNlLCB5b3UgbmVlZCB0byBjcmVhdGUgYSBjbHVzdGVyIGluaXQgYnVuZGxlIHNlY3JldC5cblxuLSAqKlRocm91Z2ggdGhlIFJIQUNTIFVJOioqIFRvIGNyZWF0ZSBhIGNsdXN0ZXIgaW5pdCBidW5kbGUgc2VjcmV0IHRocm91Z2ggdGhlIFJIQUNTIFVJLCBuYXZpZ2F0ZSB0byBgUGxhdGZvcm0gQ29uZmlndXJhdGlvbiBcdTAwM2UgQ2x1c3RlcnNgLCBhbmQgdGhlbiBjbGljayBgTWFuYWdlIFRva2Vuc2AgaW4gdGhlIHRvcC1yaWdodCBjb3JuZXIuIFNlbGVjdCBgQ2x1c3RlciBJbml0IEJ1bmRsZWAsIGFuZCBjbGljayBgR2VuZXJhdGUgQnVuZGxlYC4gU2VsZWN0IGBEb3dubG9hZCBLdWJlcm5ldGVzIHNlY3JldHMgZmlsZWAsIGFuZCBzdG9yZSB0aGUgZmlsZSB1bmRlciBhIG5hbWUgb2YgeW91ciBjaG9pY2UgKGZvciBleGFtcGxlLCBgY2x1c3Rlci1pbml0LXNlY3JldHMueWFtbGApLlxuLSAqKlRocm91Z2ggdGhlIGByb3hjdGxgIENMSToqKiBUbyBjcmVhdGUgYSBjbHVzdGVyIGluaXQgYnVuZGxlIHNlY3JldCB0aHJvdWdoIHRoZSBgcm94Y3RsYCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlLCBydW4gYHJveGN0bCBjZW50cmFsIGluaXQtYnVuZGxlcyBnZW5lcmF0ZSBcdTAwM2NuYW1lXHUwMDNlIC0tb3V0cHV0LXNlY3JldHMgXHUwMDNjZmlsZSBuYW1lXHUwMDNlYC4gQ2hvb3NlIGFueSBgbmFtZWAgYW5kIGBmaWxlIG5hbWVgIHRoYXQgeW91IGxpa2UuXG5cblJ1biBgb2MgcHJvamVjdGAgYW5kIGNoZWNrIHRoYXQgaXQgcmVwb3J0cyB0aGUgY29ycmVjdCBuYW1lc3BhY2Ugd2hlcmUgeW91IGludGVuZCB0byBkZXBsb3kgU2VjdXJlZENsdXN0ZXIuIEluIGNhc2UgeW91IHdhbnQgdG8gaW5zdGFsbCBTZWN1cmVkQ2x1c3RlciB0byBhIGRpZmZlcmVudCBuYW1lc3BhY2UsIHNlbGVjdCBpdCBieSBydW5uaW5nIGBvYyBwcm9qZWN0IFx1MDAzY25hbWVzcGFjZVx1MDAzZWAuXG5UaGVuLCBydW4gYG9jIGNyZWF0ZSAtZiBpbml0LWJ1bmRsZS55YW1sYC4gSWYgeW91IGhhdmUgY2hvc2VuIGEgbmFtZSBvdGhlciB0aGFuIGBpbml0LWJ1bmRsZS55YW1sYCwgc3BlY2lmeSB0aGF0IGZpbGUgbmFtZSBpbnN0ZWFkLlxuXG4jIyMjIFJlcXVpcmVkIEZpZWxkc1xuXG5UaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgYXJlIHJlcXVpcmVkIHRvIGJlIHNwZWNpZmllZC4gRm9yIGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMsIHBsZWFzZSB2aXNpdCB0aGUgUkhBQ1MgZG9jdW1lbnRhdGlvbi5cblxufCBQYXJhbWV0ZXIgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgfFxufCA6LS0tLS0tLS0tLS0tLS0tLS0gfCA6LS0tLS0tLS0tLS0tLS0gfFxufCBgY2x1c3Rlck5hbWVgICAgICAgfCBUaGUgbmFtZSBnaXZlbiB0byB0aGlzIHNlY3VyZWQgY2x1c3Rlci4gVGhlIGNsdXN0ZXIgd2lsbCBhcHBlYXIgd2l0aCB0aGlzIG5hbWUgaW4gUkhBQ1MgdXNlciBpbnRlcmZhY2UuIHxcbnwgYGNlbnRyYWxFbmRwb2ludGAgIHwgVGhpcyBmaWVsZCBzaG91bGQgc3BlY2lmeSB0aGUgYWRkcmVzcyBvZiB0aGUgQ2VudHJhbCBlbmRwb2ludCwgaW5jbHVkaW5nIHRoZSBwb3J0IG51bWJlci4gYGNlbnRyYWxFbmRwb2ludGAgbWF5IGJlIG9taXR0ZWQgaWYgdGhpcyBTZWN1cmVkQ2x1c3RlciBDdXN0b20gUmVzb3VyY2UgaXMgaW4gdGhlIHNhbWUgY2x1c3RlciBhbmQgbmFtZXNwYWNlIGFzIENlbnRyYWwuIHxcbiIsImRpc3BsYXlOYW1lIjoiQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBmb3IgS3ViZXJuZXRlcyIsImljb24iOlt7ImJhc2U2NGRhdGEiOiJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBWHdBQUFGOENBWUFBQURNNXdES0FBQUFDWEJJV1hNQUFHNjZBQUJ1dWdIVzNyRVhBQUFnQUVsRVFWUjRuTzNkdjQ4Y1JmNy84VmVmTHZiTzU1UGIyK1MyZG9peDJDYmxkSGREYU90T25oQUxncmtJQ1FLV0FDUm5leElJc3B2VjU0UkR4aUJJbVVVNFprWTRaOWJPdjh6NEg2aHZVTjNyMldWL2RGZFhkL1dQNTBNcTdaMlo3cW5aSDYrcGVWZDFkV1NNRVFDZysvNFV1Z01BZ0hvUStBRFFFd1ErQVBRRWdROEFQVUhnQTBCUEVQZ0EwQk1FUGdEMEJJRVBBRDN4NTlBZHdGbFJGQ1doK3dCNHRETEdyRUozQWxiRWxiYlZpS0lvbGhSTEdrb2FiSDJWcFAwZ25RS2E1VGo5dXBhMDJQckttMFJGQ0h3UDBsSDVjS3Z0QmUwUTBBMUwyVGVBaGFTRk1XWWV0anZ0UitBWEZFWFJRRkt5MVFoM29ENUxTZk9zR1dQV1FYdlRNZ1IrRGxFVURTV04wa2JBQTgyeGxEU1RORFBHTEVKM3B1a0kvRXVrSVQrV0RmbmRzTDBCa01PSmJQaFBDZitMRWZoYjBvbldjZG9JZWFDOVRpUk5aY04vRmJZcnpVSGdTNHFpYUN3YjhxeWVBYnJuV0RiNHA2RTdFbHB2QXorZGZKMkkwVHpRRjltby83Q3ZrNzI5Qy95MGJKTUYvVTdJdmdBSVlxTlh3YjhLMjVWNjlTYncwNkEva1BRZ2FFY0FOTW1ScElPK0JIL25BMytyZFBOeDZMNEFhS3hQMUlOU1Q2Y0RQNHFpaWV5b250SU5nT3RzWkVmN2g2RTdVcFZPQm42NjFjRlVUTVlDS081RTByaUxXemwwS3ZEVDhzMVUwdDhEZHdWQSt6MlJEZjdPbEhrNnN4OStXcjVaaWJBSDRNZmZKYTNTYk9tRTFvL3cwMUg5VEZ3MEJhQTZ4NUpHYlIvdHQzcUVIMFhSU0haVVQ5Z0RxTksrN0doL0ZMb2paYlF5OEtNb0drUlJkQ2pwRzdFQ0IwQTlkaVI5RTBYUllWcFphSjNXbFhUU0M2aG1ZcHRpQU9Fc1pVczhxOUFkS2FKVkkvejA0OVJDaEQyQXNQWWtMZHBXNG1sTjRLY3o1WlJ3QURSRlZ1SnB6U3FlVnBSMG9paWFpajF3QURUWGtURm1ITG9UMTJsMDRMUGtFa0NMTkg3cFptTURQdzM3dWFqWEEyaVBwYVNrcWFIZnlCcCt1aEpuTHNJZVFMdnNTWm8zZGRsbTQwYjQ2YzNENTJKeUZrQjdiV1JIK28yNm1YcWpSdmlFUFlDTzJKRWQ2UTlEZDJSYlkwYjQ2VWVnbFFoN0FOMnhrUlEzcGFiZmlCSCsxZ1F0WVErZ1M3S1JmaU5xK3NFRG45VTRBRHF1TVJPNXdRTmY3SXNEb1B2MlpMTXVxS0NCbjE1QnkwVlZBUHBnUDgyOFlJSUZmcnIvQk5zbEFPaVRCeUgzM2dteVNpZmRZZTZiMnA4WUFKcmhIV05NN1NXZTJnTS92WXAySVZia0FPaXZqYVJoM2Z2cDExclMyZG9NamJBSDBHYzdrbVoxcjl5cHU0Wi9JRmJrQUlCa3MvQ2d6aWVzcmFSRDNSNEFMbFJiUGIrV3dHZmJCQUM0VkczYkw5UlYwcUZ1RHdBWDIxRk5GMlZWSHZqcG1sTXVyZ0tBeSszWHNUNi8wcElPcFJ3QXlLM3kwazdWSS95cENIc0F5R05ITmpNclU5a0lQNHFpUk5LUGxad2NBTHJyTFdQTXZJb1RWeG40SzBtN2xad2NBTHJyeEJnVFYzSGlTa282NmVRRFlROEF4ZTFXTllIcmZZVFBSQzBBbEZiSkJHNFZJL3lKQ0hzQUtHTkhOa3U5OGpyQ1QzZkMvTTNiQ1FHZzMxN3p1YU9tN3hIK2dlZnpBVUNmSGZnOG1iY1JQcU43QUtpRXQxRyt6eEYrc050MkFVQ0hlY3RXTHlOOFZ1WUFRR1c4cmRqeE5jSm5aUTRBVk1QYmloMWZJL3lWdU5BS0FLcmk1ZXJiMGlQOEtJckdJdXdCb0VxN2FkYVc0cU9rVTdvVEFJQnJqY3Vlb0ZSSmg2V1lBRkNyVWtzMHk0N3d4eVdQQndEa055NXpjTmtSL2tyVTd3R2dMcVVtYjUxSCtGRVVEVVhZQTBDZGR0UHNkVkttcERNdWNTd0F3TTNZOVVEbmtnN2xIQUFJd3JtczR6VENwNXdEQU1FNGwzVmNTem9qeCtNQUFPVTVaVENCRHdEdDQ1VEJoV3Y0NmM2WXY3czhHUURBbS84cHVvT215d2cvY1RnR0FPQlhVdlFBQWg4QTJpa3BlZ0NCRHdEdGxCUTl3S1dHNytjbXVBQ0FVb3d4VVpISEZ4cmhSMUdVRk9vTkFLQXlSVE81YUVtbjBNa0JBSlVxZEFGVzBjQ1BDejRlQUZDZFNnUGZlWmMyQUlCM2hUSzUwS1F0RTdZQTBDeEZKbTV6ai9EVDJ4a0NBQnFrU0RZWEtlbmtQaWtBb0RaeDNnY1dDWHpxOXdEUVBMbXp1VWpnRHh3NkFnQ29WdTVzWm9RUEFPM0dDQjhBZXFLU0VUNEFvTVZ5cjhObkRUNjZJRW1TTS85L1BwOEg2UWZnVTk2MStIK3V1aU5BS01QaDhMUWxTYUs5dmIwTEg3ZGNMaldmejdWWUxFNGIwRVdNOE5FSmc4RkFTWktjaHZ0d09OVE96bzdUdVRhYmpSYUx4ZW1id0h3KzEzcGQ2RTV5UUszeWp2QUpmTFJTa2lTbndUNGNEclc3dTF2cDg1MmNuSnlPL3Vmek9hVWdOQXFCajg3WUxzc01oOE5MU3pOMVd5NlhaejRKVUFwQ0tBUStXaW1PNHpQaHZyKy9IN3BMaFJ3Zkg1OTVFMWl0VnFHN2hCNGc4TkY0ZzhIZ1RMZ25TZUpjZDIrcXpXWnpaaTVnc1Znd0h3RHZDSHcwem5iTnZVbWxtYnBscGFEdE9RR2dEQUlmUWNWeGZDYmcyMWFhcVZ0V0NzcmVBQ2dGb1FnQ0g3WHh1U1FTRmt0RFVRU0JqOHFjRC9lcWwwVEN5cGFHYnI4SkFCS0JEMC95WHEyS01MaEtHQktCRHdmWmtzZ3MzS203dDlQeDhmR1pOd0htQTdxUHdNZVZ6aStKN0V0cDV1VGs1TFFVa2lSSmIxN3o5b1F3UzBPN2g4REhHZWZEdlErbG1lMkp6OHVDYnZ1TnIwOFR6dHRMUTdQdkRkcUx3Tyt4dGwrdDZzclgwc2ErTGlubEt1SDJJdkI3Z2hGcVBTTlVQaUZSQ21veUFyK2p6bTlGUUEwNmpMN1BnVkFLYWhZQ3YyTkdvNUVPRHc5N0VTcHRYV1hTeDFWT0p5Y25ta3dtbXMxbW9idlNhd1IraDB5blV6MTQ4Q0IwTnlyUjlTMkdtN3ExczI5SFIwY2FqOGVodTlGYkJINUhqRVlqZmZQTk42Rzc0UVZYaWxwZHZWTDVuWGZlWWFRZkNJSGZFYXZWcXBXQndGNHcrWFZsTDZLVGt4UEZjUnk2RzcxRTRIZkFjRGpVTDcvOEVyb2J1YkRibzE5dFhScjYrdXV2ZDY0czF3WjVBLy9QVlhjRTdwbzZXdHBlcWRIbjBreVZWcXVWcHRQcG1YL2JmZ05vNmdxdHdXQVF1Z3U0QW9HUEszSEhwdVk0Zi9QMFB0d3hESDRSK0EwV0lsaTUyckk5MXV2MUg5NEUrbnFWTmZJaDhIdXM2MHNpKzJpMVdtbTFXcDFaTGRPWHBhRzRIb0hmRStldlZxWHUzaC9aejMxN1RtQjdLNDR1TFEzRjFRajhEanEvSkpMU0RNNjdyQlRVOXFXaHVJWXhKbGVUWkdqMXRpUkpURkhqOFRoNHYybmRhT1B4dVBEdlg1SWt3ZnZkeDVZM3gvOGtkQW9qZWZqQzcxTDNFUGdBMEJNRVBnRDBCSUVQQUQxQjRBTkFUeEQ0QU5BVEJENEE5QVNCRHdBOVFlQURRRThRK0FEUUV3UStBUFFFZ1E4QVBVSGdBMEJQRVBnQTBCTUVQZ0QwQklFUEFEM0JIYS9RRzNmU2RqdjlLa2x2WFBMWWw1SitsYlJKdno1THZ6NnZ1STlBbFFoOGROWXRTWGNsdloxK3ZWSGcyQnQ2OVdidzl0YS92NUQwczZRZkpIM3ZvWTlBblFoOGRNNTkyWkIrKzdvSE9yZ3A2VjdhWHNxRy9tUFpOd0dnNlFoOGRNS09wSGRsdy81bVRjOTVRNi9DLzZsczhIOWQwM01ETHBpMFJlczlsTFNVOUlIcUMvdnozcEQwdWFTZlpNdEhRQk1SK0dpdHU3SkIvNm1LMWVlcmRGdlN0NUwrS3p1SEFEUUpnWS9XMlpIMG1XeXdoaHJSWCtkdDJkSCsvZEFkQWJZUStHaVZPNUsrazYzWE45ME4yVExQRjdKdlVrQm9CRDVhNHkreVlYODdkRWNLdWlmYmIwbzhDSTNBUnl2Y2wvUi9hazZ0dnFqYnNpV2VPOWM5RUtnUWdZL0d1eTliR21tN0c3SWpmVUlmb1JENGFMU3VoSDJHMEVkSVhIaUZ4cW9qN0xNOWM4NjdiSThkSDdMUWYxUHN6WU42RWZob3BEdXlTeTk5ZXlhN0hjSlR2ZG9jN1RLMzBuNjhJVHRoN0hNSjZBM1p0ZnAvdmFZUGdFOEVQaHBuUnpZTWZVM1F2cEQwbFd6UUZ4bFJQMC9iOTVJK2xBMy9kMlhEMzBmZmJzdStxYjNuNFZ4QUh0VHcwVGhmeU05bytvV2s5eVh0U2ZwUzVjc252OHFHODU2a1I3TGxvTEx1aVl1elVCOENINDN5Ri9uWjVmS1JiSTI4aXMzTU5sdm5mK3JoZkorSk5mcW9CNEdQNE83STdvdHpWM1owWDhZTFNmdXlnVngxYmZ5NWJBMytvNUxudWFIeXJ4dklneG8rYW5OWGRnTDBqdXlJMXZjVnM4OFVaaEwwUzluOThMK1RlMjMvRGRudkQvdnFvMG9FUGlwMVY3Wk83V3VpOHpLUFpTZFdRNjE0K1ZYMnphWk02SDhoT3o4QVZJV1NEaXB4WDNicjRtOWxBNy9Lc0g4bU81a2FlbmxqRnZxdWs3azN4UVF1cWtYZ3c2c3M2RDlYUFZzWFoyV2Nwc2hDMzlVSHZqb0NYSURBaHhlM1pNc1pkUVc5WkVmU1RSalpuL2VyM0NkeWI0bzdacUU2QkQ1S3V5KzdFMlNWMnhGYzVKRXUzaGFoQ2I2VTlJUGpzZmQ4ZGdUWVF1Q2psQzlrUi9WMWIxdjhWRFpVbSt4RHVkWHo3NGticHFBYUJENmM3TWlXY0VLTlJoOEZldDRpbnN2OVRla3ZQanNDcEFoOEZKYUZmZDBsbk14VHRXZTkrbGR5RytYN3VOb1lPSS9BUjJHaGJ6UFlodEY5WmlPMzdSMll1RVVWQ0h3VThvWENodjFqdFdkMG4vbks0WmdiNGlZcDhJL0FSMjRQRlhZRnlXTzFjeXZoNTdMWEN4UkY0TU0zdGxaQUxuZFV6VVZCejJUTEh0bk5TTzdJemhGc3p3LzhJRHRLYnR2SWZ0djNLdjdKS09RbktYUVRnWTljdnBDZnBaY3ZaY1B2aC9Sclg3aHNvOHdJSDc0UitMaldmWlVmYmI2VVhhTDRsWnAzWld3ZFhENmRzQllmdmxIRHg1VjJWUDdlc2s5bGJ4WlN4eDcxVGZhaTRPTnZpeHVqd0M4Q0gxZDZWK1ZLT1k5a054TXJlM3ZCTG5ENUhpeGtsOEd5VEJNK0VQaTRVcG50ZXQ5WHU5Yk1OOVVic3R0TWZ5SEtQQ2lId01lbDdzdDk1OHVQVk0zOVpQdnNudXpXMDJ5N0FGY0VQaTdsZW5uL0Qycit4bVp0ZFVQUy82bjh2QXI2aWNESGhYYmtGdmpaSHZXbzFydml4dWNvanNESGhWd25DVVBlVjdadjdvblFSekVFUGk3a3NoUG1DMUczdjBvVlZ3cmZrOTN5QXNpRHdNZUZYRWI0aFAzVkhsZDAzay9Gc2sza1ErRGpRaTVYMWxZVmFGM3hYRzQ3WitiQmtrM2tRZURqRDF5dTdud2hMcTdLNDBOVjg4WjRVM1lpRjdnS2dZOC9jQW44cHQ1TXZJbmVrL1EzdWQvay9ESVB4U2dmVnlQdzRRV0JYOHpQa3Y0aDZYOGxEU1g5VStWSC9qZkVLQjlYSS9DQndKN0xiaFg5bm16NHUyeWxuQ216RlFhNmo4QUhHdVM1N0daenJxUDltMkxyQlZ5T3dBY2E2RDI1aDc3TE5SVG9Cd0lmdmJBak82bjVuYVQvbDdidjFPeUp6ZzlWZkE5OWlUWDV1QnlCRHkrYWZEdSsrN0s3VEg2cXM2UGZOOUovVzZxWnRlK04zTGFYNWw2NHVBeUJqejl3V1UvZnhNQy9LK2tuU1ovcjZwdTQzRWdmODVPYU56citXb3p5NFErQmp6OXdDZnliYWs3bzM1Szk4dlJiRlJ2dDN0YXJHNDAwNmRhQ1ZlekJnMzRpOEhFaGw2V0I5N3ozb3BnZFNSL0lqdFRMOU9WZWVvNFAxSXo2UGxjd3d4Y0NIeGR5dVpEcXZzSUY1SDI5Q3VreTkrRE4zTkNyTjQ4bTF2Y0JGd1ErTHVReXdnOXhwZWNkMmRVMm44djlkb3hYdVptZSt6czFwMlFGdUNMd2NhSHZaZTllVmRSRDFWUC8zcEd0dFIrcm5uWG5iNlRQRldKWHlpYVVsZEFOQkQ0dTliM0RNVGNrL2RkM1I4NzVRSFlwWllnNWcreEc0aC9VK0p4Y09RdGZDSHhjeXZWS3o5dXE1dFo3ZC9VcWJIM1U2VjFsOWYybHFsLytlRmR1cFNwVzl1QWlCRDR1OWJQYzFvQkxmdSszZWt1Mmh2NnRxcW5UdTdvcDI2ZnZWRjBaeStXVGhPdlBETjFINE9OS0xsZDZackxRZDYxQjcwajZUTkpDemQ0ZjVnM1pQbjRtdi9YMmgzSjczWXp1Y1JrQ0gxZHl2ZEl6YzA5dUsxd2V5cFpNMnJTLys3dXlmZlp4VS9IN3N0cyt1UEI5WXhWMEI0R1BhNzFYOHZqYnNxR2ZkL1Q3aFd6WWhhelR1N29oMjNmWGNsYjJxZVp6eCtOZnltMnlIZjFBNE9OYVA2djhxUEdHYkpCZDU3NnFYWDN6VlBZbUkyVnZOSEtkZXlwMndWYTJtK2RQS3ZlcGhyREhWUWg4NVBLZTNOYmxiN3VuNjBmNVZTMTNmQ0Y3SDltL3ltNVZrTjFvNUcrcWJwSXo3MnU1SXh2MG42cjhwSFNaT1JkMEg0R1BYRGF5OTJBdDY2cGF2dXNTeEt1OGxQU1JwRDFkUEpuNWMvcmZQbEw1TjdUemJ1cjZaWnZaQ2lRZnIvdXgySGNIVnlQd2tkdlBzc0hZRm85bHcvekxISS85TW4xczJSdUpGL1daL014VnZKUzlZUXB3RlFJZmhYeXAra094cUtlUzltWExVSnNDeDIzU1kvWlZiWDAvYzB2UzI1N09WZlMxb3A4SWZCUlc1bjZyVlpZY1hrajZwMnh0M21XM3o4eXY2VG4rcVdvdll2SjFzZFpqTVZtTGZBaDhPSEVKL2FwcXpDOWxKeXYzNURmNHZrL1ArVWorNi91K1BGUDVaYlBvRHdJZnp0NlQ5SDdPeDJhaDdOc1BrdDZzNk55WlIrbHpOTzJDcG1leW4wU0F2QWo4amhrT2g3VSszOWV5TmUrclNoOHY5R281cEc5ZlZYVGU4NTZueitWVG1iTFREN0xmMHlycjlrbVNWSGgyaEVEZ2Q4eGdNS2o5T1grVkhRRi9KRHZaK1RKdFQyVS9BYnlwY3VIV1ZSdTV6WVU4a2wwaXl5UXRpdnB6NkE2Z0d6YXlLM2p5TElIRUt4L0s3bmVmWjJubUM5a3lHcHVqd1JVamZDQ2dqV3hwNXRrVmoza2grMG5wc292SGdMd1k0WGRNaUpJT3lzbEtZdmRsMStYdmJQMzdNOWw1a2hEaU9BNzB6S2dLZ2Q5Z2k4V2k4REYxVDlyQ242OFZMdHd2NGhMNExyK3pxQThsblFaYnI5ZWh1d0FVd3U5c3N4SDRIY1BIY1BqQ3A4WHVJZkFiYnJsY0Zucjg3dTV1UlQxQjMrenNGTHRoWTlIZlZkU1B3Rzg0bDQvSVROeWlMSmRQaXBSem1vL0FiN2pWYWxYNEdENktveXlYd0hmNVhVVzlDUHlHYy9ram9vNlBzbHdHRFFSKzh4SDREZWV5ekkzQVIxa3N5ZXdtQXIvaFhPcWliSHFGc2x4RytOVHdtNC9BYjdqNWZGNzRHRWI0S01zbDhGMStWMUV2QXI4RlRrNU9DajErZDNlM055dDEzdFdyclFpcXRKTStWeC9FY1Z4NFNXYlIzMUdFUWVDM2dFdHR0QzlsbmJjbExTVTlyUEE1SHFiUDRlditzMDNIaEcxM0VmZ3R3SjQ2VjdzaDZWUFpVTDdyOGJ4MzAzTitxbnpiRjNlRnkyQ0JjazQ3RVBndHdBZy9uNXVTdnBYMG5jcmRJUHhXZW81djAzUDJqY3RnZ1JVNjdSQVpZL0k5TUlyeVBSRGVEUVlEL2Y3Nzc0V1BpNktvZ3Q1VTU2NXN5UHJ5U1BhMmhIbnZESlhWNlQvdzJJZS9xWDE3Mk9mTmhHMnZ2ZllhWloyQWpERzUvdGdaNGJmQWVyMTJtaFRyNHloLzJ3ZXlKWm43T1I1N1AzMnN6N0J2bzlGb1ZQaVlrNU1Ud3I0bENQeVdjS21SdXZ6eGh2U3o3TDF3ZmJvaDZYTkpQK25pK3Y3ZDlMOTlMdjkxK3BkcTMramVaWkJBT2FjOUNQeVdjQW44Tm83d0gxVjAzdHV5NWFML3l0Ym9iNlgvKzl2MHYxV2hxdGRTSmRiZmR4czEvSmFJNDFpLy9mWmI0ZVBhV0Z2OVF0SzlDcytmZllxb2N1WE5ZOWtianJjTjlmdDJvb2JmTWF2VnlxbU8zN2F5am1TRDhpUDVMKzlrYnFpNnNIOHAyL2MyaHIxVWZFOTc2dmZ0UXVDM3lHdzJLM3pNZUR6MjM1RWFmQ2xwVDNhazNCYVBaZnY4WmVpT2xGQzBIazg1cDEwSS9CWngrZVBhMjl0cjdkNDZHOW1SOHI2a3A0SDdjcFduc24xOFQvbVhnRGJWZERxdDlQRUlpOEJ2a2Rsc3BzMm1lS1Mwc2F5ejdWZEpmNVgwdnFRWGdmdXk3WVZzbi80cTI4Y3VtTS9uT2pvNnl2WFlvNk1qUnZndFErQzNqRXRaWnpLWlZOQ1QrbjB0NlUzWjFTOVYxZmZ6ZUpuMjRjMjBUMTB6SG8rdkRmMmpvNlBXbGd2N2pNQnZHWmZBMzkzZGJlVVN6WXRzOUNwc1E5VDNIK3ZWbTA3Ynl6ZFhHWS9IZXVlZGQvVGt5Wk16Ly83a3lSTzk5ZFpiaEgxTHNTeXpoZGJyZGVIdGE3czZJcnNyNlROVnQ1WSs4MHpTaDJyZmhWVG9CNVpsZHBqTEtQL0Jnd2VkM0NQL1o5a1I5L3VxcHN6ek1qMzNteUxzMFg0RWZndTVyb3pvU2kzL0lsL0xMb24wZVhYcm8vU2NYYXpUbzU4bzZiVFVhclhTN3U1dW9XTTJtNDNpT083OHZVZHZ5Wlo1WEc5WThvTnMrZWE1dHg0QjFhS2swM0dIaDRlRmo5bloyZW4wS0QvelhOSS9aTGNtTHJLTTgwVjZ6RDlFMktPYkdPRzNsT3NlK1gwWjVXOTdLTHZ0OFdYYktXVExMTnQ4aFN6NmpSRit4NjNYNjl3WHlHenJ5eWgvVzdaTnd5UFoxVGFaWjNwVnB5ZnMwUWVNOEZ2TWRRZk5Qbzd5Z1M1amhOOERxOVZLeDhmSGhZL2IyZGx4bWdNQTBHNk04RnN1U1JMOStPT1BUc2UrL3ZycjNLMEk2QUJHK0QweG44K2RSdm1TMjBvZkFPMUY0SGZBd2NHQjAzSDcrL3U5bThBRitveVNUa2ZNNTNQdDcrOFhQbTZ6MldnNEhITFhJcURGOHBaMENQeU9HQTZIK3VXWFg1eU9QVDQrN3N4dW1sMHdHbzJVSkluVERjWHpXcTFXbXMvbm1zMW1yTmJxZ0x5QkwyTk1yaWJKMEpyZHB0T3BjWFZ3Y0JDOC8zMXZ3K0hRTEJZTDU1K2hpL1Y2YmNiamNmRFhUaXZYVE40Y3ovM0FCcndvMnRWdE1CaVk5WHJ0L01lZkpFbncxOURYTmh3T1MvM3N5aUwwMjkwTWdkL1BOcGxNblAvbzErdTFHUXdHd1Y5REg5dDhQbmYrdWZrU3gzSHc3d1BOclJrQ3Y3K3RURmxnc1ZnRTczL2YybkE0ZFA1NStYUjRlQmo4ZTBGemF5Wm5qck1zczRQSzNObHFiMi9QZWI5OXVHbktUZWFadU84K0FyK0RGb3VGUHZua0UrZmpIeng0NEx5MkgrMjF0N2NYdWd1b0dJSGZVUWNIQjFvdWw4N0hmL3p4eDUyOEJ5N1Fad1IraDVVTjdQLzg1eitFZmcyNDZBMjF5VnZzVndNbUptakZXNWxWT3htVzdGWGJ5aTZuOVNuMDk0TG0xZ3lyZEdoWm04MW1wWU9BMEsrMmpjZmowajhqSDBKL0gyaHV6UkQ0dEt3TkJnTXZWM0FTK3RXMkpvUis2TzhCemEwWkFwKzIzWHhkeVRtZFRvTy9saTYzSkVtOGZDSnpGZnIxMDl5YUlmQnA1OXRvTlBJU0NyUFpqQ3R5QS84Y3E2cjVoMzV0TkxkbUNIemFSYzFYMldDeFdKamhjQmo4OWZTdEhSd2NlUG41WFNiMDY2TzVOVVBnMHk1cmg0ZUhYc0podlY2YjBXZ1UvUFgwb1EwR2cxcjIyd245T21sdXpSRDR0S3RhbWEyVXo1dE9wNVI0S214Smt0UzJiRFAwYTZXNU5VUGcwNjVyUGtOL3RWcXh2YkxuTmhnTXZIMGF5eXYwYTZhNU5VUGcwL0kwbjZGdmpOMXhrZEYrK1RZYWpjeHF0Zkw2czhrajlPdW11VFZENE5QeU50K2h6MTJVM0ZzY3h5ekxwQlZ1aHNDbkZXbStROThZWStiek9XV2VuRzB3R0ZTK0FpZVAwTjhIbWxzekJENnRhS3VxWGp5ZFRybWIwaFh0NE9DQXZYUm9wWm9oOEdrdXJjckwrd24rVjIwd0dKakpaRkpablg2MVdqbWRPL1QzaGViV0RJRlBjMjFWTHdQc2M2a25qdVBLUi9TTHhjSjUzWDdvN3cvTnJSa0NuMWFteFhIc1pjTzFxNnhXS3pPWlRIcXhxaWRKa2tybVNjN2J2aTh0Z2QrZlpnaDhXdGsyR0F4cUNTbGpiTG1uYTFmdFpxUDVPcFpYWG5UVk00SGZuMllJZkpxdk5oNlBhNXRVWEsvWHJRNy9PSTdOWkRLcC9OUFJ0c1ZpY2VIY0NJSGZuMllJZkpyUFZrZUo1N3oxZW0xbXM1bVpUQ2FOM2FodE1CaVkwV2hrRGc4UGcxd29kWEJ3Y0duZkNQeGV0ZGpreVBISS9veXZGMFZSdmdlaTB3NE9EdlR4eHg4SGVlN05acVA1Zks3RlluSDZkYjFlMTlxSDRYQjQycElrMGQ3ZVhxM1BuMWt1bHhxUHgxb3NGcGMrWmo2ZmEzOS92OUI1b3lncTJ6VUVZSXpKOVlNajhGRllITWVhVHFlRnc2UUtKeWNuV3ExV21zL25rblQ2dGN5YndYQTQxR0F3VUJ6SGl1Tll3K0ZRY1J3SEMvZHRtODFHaDRlSE9qZzR1UGF4Qkg1L0VQaW8zSGc4MXVIaG9YWjJka0ozNVVyWm04SlZtdkRtZFowblQ1NW9NcGxjKzFveVJRTi91VnhxT0J3NjlnNGg1UTE4YXZpMFVxMHBXd0owbWV0T3BKUEpwTkR6YkMvcHBMV3JHU1p0YVhXMk9JNXJXOExaRjZ2VnF0UW1kSVBCSVBmcXF2VjZ6VlhRTFc2R3dLZUZhQVIvZVdXRGZydmx2WGs5dTV1MnU1a0tBbjhlK2tYUjJ0TUkvdUo4QnYxMkd3NkhseTRaNWNZMW5XaHprelBIaTB6YXppWHQ1M293a0lyaldPUHhXSlBKcFBHVHU2RWNIeC9yOFBCUXM5bXMwdWNaalVabkptVVhpMFhsejRsYUhCdGprbHlQelB2T0lHbW04TzlrdEJhMzhYaGMrOFZiVGJWZXI4M2g0U0YxYzVxUE5qTVZsSFFPR3ZEQ2FCMW9jUndIdXpJMXRObHNScjJjNXJzZG1Bb0NmOUtBRjBicldCc09oNTBQL3l6ays3QXJLQzFJbTVnS2F2aUpwQjl6UFJod01Cd09OUnFObENSSkt5NkV1c3pKeVlubTg3bG1zNW5tODNudDJ6K2dkOTR5eHN6elBMQkk0TWVTZm5QdUVsREFZREJRa2lTbmU5WTArUTBnQy9qdFBYNkFHcjFtakZubGVXRHV3SmZZWGdGaGJXOWNsclc2Vi80c2wwdXRWcXVnRzdnQjIwemViUlZVUFBBWGtzTHZJQVZzU1pKRWc4SGdkTWxodHZtWlpEOHA1Tm4wYkxQWm5CbVpaMEcrV3EzT05LQmhsc2FZM0JzZ0ZRMzhxYVFIRHAwQ0FQaDNaSXdaNTMzd253cWVuT0lrQURSSG9Vd204QUdndlFwbGNxR1Nqc1RFTFFBMFJaRUpXNm40Q0YrU2xnN0hBQUQ4S3B6RkxvRS9kemdHQU9EWHZPZ0JCRDRBdE5PODZBRXVOZnlCcE4rTFBoRUF3S3YvTWNZVXV1cXY4QWcvZlFMcStBQVF6ckpvMkV0dUpSM0o3bzBQQUFqREtZTUpmQUJvSDZjTUxsekRQejB3aWxhU2RwME9CZ0M0T2pIR3hDNEh1bzd3SlViNUFCQ0NjL2FXQ2Z4cGlXTUJBRzZtcmdjNmwzUWt5am9BVURQbmNvNVVib1F2TWNvSGdEcE55eHhjZG9RZmk5c2VBa0JkY3QvTzhDS2xSdmpwRXgrWE9RY0FJSmZqTW1FdmxTL3BTSlIxQUtBTzA3SW5LRlhTT1QwSms3Y0FVS1ZTazdVWkh5TjhpVkUrQUZScDZ1TWt2a2I0QTBrclNUdWxUd1lBMkxhUkZMdHNsbmFlbHhGKzJwR3BqM01CQU02WStnaDd5ZE1JWDJLSkpnQlVwTlJTekcyK2F2alpFczBqWCtjREFPaklWOWhMSGtmNEVxTjhBUERNMitoZThqakNsMDVIK1ovNFBDY0E5TlFuUHNOZThqekNsMWl4QXdBZWVGdVpzODNyQ0Y4NlhiRno0UHU4QU5BakI3N0RYcXBnaEg5NllxNitCUUFYWHE2cXZZajNFZjZXY1lYbkJvQ3VHbGQxNHNvQzN4Z3psL1NrcXZNRFFBYzlTYk96RXBXVmRDUW1jQUdnZ0VvbWFyZFZXZEpoQWhjQThxdGtvblpicFNQODB5ZUpvcm1rL2NxZkNBRGE2ZGdZazFUOUpIVUZQcVVkQUxoWTVhV2NUS1VsblV6NlFzWjFQQmNBdE15NGpyQ1hhZ3A4U1RMR3pDVDl1NjduQTRBVytIZWFqYldvcGFSeittUzJ0RE9YdEZmYmt3SkFNeTBsSlhXTjdxV2FBMTg2M1ZGekllcjVBUHBySTJub2UzTzA2OVJXMHNta0wzQmM5L01DUUlPTTZ3NTdLVURnUzZmMS9IK0ZlRzRBQ094ZmRkYnR0OVZlMGpuejVGRTBsZlFnV0FjQW9GNUh4cGh4cUNjUEd2Z1NGMlVCNkkxYUxxNjZTcENTemprajJkbHFBT2lxcFd6V0JSVTg4Tk1sU1lrSWZRRGRWUHZ5eThzRUwrbGsySDRCUUFmVnRtMUNIc0ZIK0ptdGtmNG1jRmNBd0llTkdqS3l6elFtOENYSkdMTVFvUStnL2JLd1g0VHV5TFpHQmI1MEd2cXhxT2tEYUtlbGJCbW5VV0V2TlREd0pTWnlBYlJXWXlab0w5TEl3SmZPaFA1eDRLNEFRQjdIYW5EWVN3ME9mTW1HZm5xaHdsSG92Z0RBRlk2TU1ZME9lNm5oZ1o5SkwwVm03eDBBVGZTdmtOc2xGTkdZZGZoNVJGRTBralFWYS9VQmhMZVIzZlV5eUVab0xsb1YrTkxwZnZvemNSTVZBT0VzSlkxQ2JIRmNSaXRLT3R2U2IzQWlicGNJSUl4L3kwN09ya0ozcEtqV2pmQzNVZUlCVUtQV2xYRE9hM1hnUzZkNzhNekVGc3NBcW5Nc1c4SnA5Q3FjNjdTdXBIUGUxdExOZjRrdEdRRDR0WkZkaGRQNEpaZDV0SDZFdnkwZDdVOGwvVDF3VndDMDN4UFpFazdyZ3o3VHFjRFBSRkdVeUFiL2J0aWVBR2loRTltZ240ZnVpRyt0TCtsY3hCZ3pOOGJFb3N3RElMK3NmQk4zTWV5bGpvN3d0NlZsbm9ta2owUDNCVUJqZlNMcHNFdmxtNHQwUHZBejZRVmJCNUllQk8wSWdDWTVrblRReGpYMUxub1QrSmswK0NlU3htTDlQdEJIRzlrNXZzTytCSDJtZDRHZjJTcjFqSFgzMENrQUFBRHZTVVJCVk1Ya0x0QUhKM29WOUowdTNWeW10NEcvTFlxaXNXendjL0VXMEQzSGtxYkdtR25vam9SRzRHOUp5ejFqTWVvSDJpNGJ6VS83VnJhNUNvRi9pU2lLaHJMQlB4TGhEN1RCaWV3Mks5TW0zaysyQ1FqOEhOTHdINldOYlptQjVsaktodnlNa0w4ZWdWOVFPdG1iYkRYZUFJRDZMQ1hOczliWHlWZFhCTDRINlZZT3c2M0dtd0JRM2xMU0ltdGR2ZnExVGdSK1JkSUo0RmoyRFdDdzlWVmlOUkFnMmRVemtyU1dEZlhzNjRxSjFtb1ErQTJ5OVNZQmRNV0Nza3R6RVBnQTBCT2QzQzBUQVBCSEJENEE5QVNCRHdBOVFlQURRRThRK0FEUUV3UStBUFFFZ1E4QVBVSGdBMEJQL0g5ZjU2TkxPRVZiYmdBQUFBQkpSVTVFcmtKZ2dnPT0iLCJtZWRpYXR5cGUiOiJpbWFnZS9wbmcifV0sImluc3RhbGwiOnsic3BlYyI6eyJjbHVzdGVyUGVybWlzc2lvbnMiOlt7InJ1bGVzIjpbeyJhcGlHcm91cHMiOlsiKiJdLCJyZXNvdXJjZXMiOlsiKiJdLCJ2ZXJicyI6WyIqIl19LHsiYXBpR3JvdXBzIjpbInBsYXRmb3JtLnN0YWNrcm94LmlvIl0sInJlc291cmNlcyI6WyJjZW50cmFscyIsInNlY3VyZWRjbHVzdGVycyJdLCJ2ZXJicyI6WyJjcmVhdGUiLCJkZWxldGUiLCJnZXQiLCJsaXN0IiwicGF0Y2giLCJ1cGRhdGUiLCJ3YXRjaCJdfSx7ImFwaUdyb3VwcyI6WyJwbGF0Zm9ybS5zdGFja3JveC5pbyJdLCJyZXNvdXJjZXMiOlsiY2VudHJhbHMvZmluYWxpemVycyIsInNlY3VyZWRjbHVzdGVycy9maW5hbGl6ZXJzIl0sInZlcmJzIjpbInVwZGF0ZSJdfSx7ImFwaUdyb3VwcyI6WyJwbGF0Zm9ybS5zdGFja3JveC5pbyJdLCJyZXNvdXJjZXMiOlsiY2VudHJhbHMvc3RhdHVzIiwic2VjdXJlZGNsdXN0ZXJzL3N0YXR1cyJdLCJ2ZXJicyI6WyJnZXQiLCJwYXRjaCIsInVwZGF0ZSJdfSx7ImFwaUdyb3VwcyI6WyJhdXRoZW50aWNhdGlvbi5rOHMuaW8iXSwicmVzb3VyY2VzIjpbInRva2VucmV2aWV3cyJdLCJ2ZXJicyI6WyJjcmVhdGUiXX0seyJhcGlHcm91cHMiOlsiYXV0aG9yaXphdGlvbi5rOHMuaW8iXSwicmVzb3VyY2VzIjpbInN1YmplY3RhY2Nlc3NyZXZpZXdzIl0sInZlcmJzIjpbImNyZWF0ZSJdfV0sInNlcnZpY2VBY2NvdW50TmFtZSI6InJoYWNzLW9wZXJhdG9yLWNvbnRyb2xsZXItbWFuYWdlciJ9XSwiZGVwbG95bWVudHMiOlt7ImxhYmVsIjp7ImFwcCI6InJoYWNzLW9wZXJhdG9yIiwiY29udHJvbC1wbGFuZSI6ImNvbnRyb2xsZXItbWFuYWdlciJ9LCJuYW1lIjoicmhhY3Mtb3BlcmF0b3ItY29udHJvbGxlci1tYW5hZ2VyIiwic3BlYyI6eyJyZXBsaWNhcyI6MSwic2VsZWN0b3IiOnsibWF0Y2hMYWJlbHMiOnsiYXBwIjoicmhhY3Mtb3BlcmF0b3IiLCJjb250cm9sLXBsYW5lIjoiY29udHJvbGxlci1tYW5hZ2VyIn19LCJzdHJhdGVneSI6e30sInRlbXBsYXRlIjp7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7Imt1YmVjdGwua3ViZXJuZXRlcy5pby9kZWZhdWx0LWNvbnRhaW5lciI6Im1hbmFnZXIifSwibGFiZWxzIjp7ImFwcCI6InJoYWNzLW9wZXJhdG9yIiwiY29udHJvbC1wbGFuZSI6ImNvbnRyb2xsZXItbWFuYWdlciJ9fSwic3BlYyI6eyJjb250YWluZXJzIjpbeyJhcmdzIjpbIi0taGVhbHRoLXByb2JlLWJpbmQtYWRkcmVzcz06ODA4MSIsIi0tbWV0cmljcy1iaW5kLWFkZHJlc3M9MC4wLjAuMDo4NDQzIiwiLS1sZWFkZXItZWxlY3QiXSwiZW52IjpbeyJuYW1lIjoiUkVMQVRFRF9JTUFHRV9NQUlOIiwidmFsdWUiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1tYWluLXJoZWw4QHNoYTI1NjpmOTViZWUzYjdiZWQ3N2Q3YWYyNDkxZjdiZWRkNjU4ZjcxMjBjNmE4ZWMzNTRjNmI0Yjc0NWUxNTA2Nzk4MDQ4In0seyJuYW1lIjoiUkVMQVRFRF9JTUFHRV9TQ0FOTkVSIiwidmFsdWUiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLXJoZWw4QHNoYTI1NjpmMTRkYWMxYTliOGEzZTBiODQyZjJiZmFiMjY4Y2EwMDc2YWQ2MmYwYzViZTE5YzE5YzlkODMyNDQ1NGYzNGRkIn0seyJuYW1lIjoiUkVMQVRFRF9JTUFHRV9TQ0FOTkVSX1NMSU0iLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItc2xpbS1yaGVsOEBzaGEyNTY6YjA4ZWMyOTZkZjI0ODE0MjRiMjBkMzg4MTY3Y2VkZTY1ZDQ5MGI0MjEzNTg5ZmM3NTNjMjU1OTM0NTJmYzBiMSJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUl9EQiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1kYi1yaGVsOEBzaGEyNTY6NWUyMTM2MjYxMjJkY2E4NzI1NDE0YzU3NjkwOThhY2I3OGZjMDk2N2JmYWM1ZDZhNWYwYjVmN2FjMzg0NDMzNSJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUl9EQl9TTElNIiwidmFsdWUiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLWRiLXNsaW0tcmhlbDhAc2hhMjU2OjcyODIyMGE0YTA1MWI1NTE1NWEwZjA2MzgwYWE0MmExZDYwYTFjYjQyMTRlMDYyNDE5MzZmZjZmYWIxMjc4OWYifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX0NPTExFQ1RPUiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtY29sbGVjdG9yLXJoZWw4QHNoYTI1NjpmNmI0ODJjOWQ0NTY3OTdmMTY5YWFhZGQwNDY5MGM4MWE1ZjA5MmJmOGMwMDBiNzBlNmYwNjEyMGVkZGNkMWU2In0seyJuYW1lIjoiUkVMQVRFRF9JTUFHRV9ST1hDVEwiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXJveGN0bC1yaGVsOEBzaGEyNTY6ZGYyNjA5MDA0ZDljMjQ0YzAzY2VmMjMwMjA5YjMzODIwZDhjNTI5NzAyYzcyNjA3MzFiNmZhODM0MjgxMDg5MSJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfQ0VOVFJBTF9EQiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtY2VudHJhbC1kYi1yaGVsOEBzaGEyNTY6YzhmNTk4ZGRmYTlhMWQzNGMwMzdlOTY5MTQ4YzI2NjIzNjVhM2ZlNTc1MDBiMDc5MWFlMzM4OWQ1YTJhYzMwNyJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUl9WNF9EQiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci12NC1kYi1yaGVsOEBzaGEyNTY6OWUwMWM2ZmZjZDBiNTcxNDg0ZTJlMzk1MDZlNGViNWMyOGRhYzdjMzdjMGIwN2ViNjhmNWYxODAzNjBjNDFiNyJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUl9WNCIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci12NC1yaGVsOEBzaGEyNTY6ZGNlY2RkNDkxNTliZDhlYjc0Yjg2NGRmMGYxNDNmZjNjZTg4NDljMDExNTBhNTNiZmI3ZGZkMGIzMjdmMTU1NSJ9LHsibmFtZSI6Ik1FTU9SWV9MSU1JVF9CWVRFUyIsInZhbHVlRnJvbSI6eyJyZXNvdXJjZUZpZWxkUmVmIjp7ImNvbnRhaW5lck5hbWUiOiJtYW5hZ2VyIiwiZGl2aXNvciI6IjAiLCJyZXNvdXJjZSI6ImxpbWl0cy5tZW1vcnkifX19XSwiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1yaGVsOC1vcGVyYXRvckBzaGEyNTY6NmFhMGQ1ZDdiYzE0ODlkZDczODA1Y2E2Y2QwMWY0ZDgxM2U5YmNkYjlmZDIwZTc1OGEwMzA0NDk0ODM0NGUwMCIsImxpdmVuZXNzUHJvYmUiOnsiaHR0cEdldCI6eyJwYXRoIjoiL2hlYWx0aHoiLCJwb3J0Ijo4MDgxfSwiaW5pdGlhbERlbGF5U2Vjb25kcyI6MTUsInBlcmlvZFNlY29uZHMiOjIwfSwibmFtZSI6Im1hbmFnZXIiLCJwb3J0cyI6W3siY29udGFpbmVyUG9ydCI6ODQ0MywibmFtZSI6Imh0dHBzIiwicHJvdG9jb2wiOiJUQ1AifV0sInJlYWRpbmVzc1Byb2JlIjp7Imh0dHBHZXQiOnsicGF0aCI6Ii9yZWFkeXoiLCJwb3J0Ijo4MDgxfSwiaW5pdGlhbERlbGF5U2Vjb25kcyI6NSwicGVyaW9kU2Vjb25kcyI6MTB9LCJyZXNvdXJjZXMiOnsibGltaXRzIjp7ImNwdSI6IjIwMG0iLCJtZW1vcnkiOiIxR2kifSwicmVxdWVzdHMiOnsiY3B1IjoiMTAwbSIsIm1lbW9yeSI6IjIwME1pIn19LCJzZWN1cml0eUNvbnRleHQiOnsiYWxsb3dQcml2aWxlZ2VFc2NhbGF0aW9uIjpmYWxzZSwiY2FwYWJpbGl0aWVzIjp7ImRyb3AiOlsiQUxMIl19fX1dLCJzZWN1cml0eUNvbnRleHQiOnsicnVuQXNOb25Sb290Ijp0cnVlfSwic2VydmljZUFjY291bnROYW1lIjoicmhhY3Mtb3BlcmF0b3ItY29udHJvbGxlci1tYW5hZ2VyIiwidGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHMiOjEwfX19fV0sInBlcm1pc3Npb25zIjpbeyJydWxlcyI6W3siYXBpR3JvdXBzIjpbIiJdLCJyZXNvdXJjZXMiOlsiY29uZmlnbWFwcyJdLCJ2ZXJicyI6WyJnZXQiLCJsaXN0Iiwid2F0Y2giLCJjcmVhdGUiLCJ1cGRhdGUiLCJwYXRjaCIsImRlbGV0ZSJdfSx7ImFwaUdyb3VwcyI6WyJjb29yZGluYXRpb24uazhzLmlvIl0sInJlc291cmNlcyI6WyJsZWFzZXMiXSwidmVyYnMiOlsiZ2V0IiwibGlzdCIsIndhdGNoIiwiY3JlYXRlIiwidXBkYXRlIiwicGF0Y2giLCJkZWxldGUiXX0seyJhcGlHcm91cHMiOlsiIl0sInJlc291cmNlcyI6WyJldmVudHMiXSwidmVyYnMiOlsiY3JlYXRlIiwicGF0Y2giXX1dLCJzZXJ2aWNlQWNjb3VudE5hbWUiOiJyaGFjcy1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXIifV19LCJzdHJhdGVneSI6ImRlcGxveW1lbnQifSwiaW5zdGFsbE1vZGVzIjpbeyJzdXBwb3J0ZWQiOmZhbHNlLCJ0eXBlIjoiT3duTmFtZXNwYWNlIn0seyJzdXBwb3J0ZWQiOmZhbHNlLCJ0eXBlIjoiU2luZ2xlTmFtZXNwYWNlIn0seyJzdXBwb3J0ZWQiOmZhbHNlLCJ0eXBlIjoiTXVsdGlOYW1lc3BhY2UifSx7InN1cHBvcnRlZCI6dHJ1ZSwidHlwZSI6IkFsbE5hbWVzcGFjZXMifV0sImtleXdvcmRzIjpbImFkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkiLCJzdGFja3JveCIsInNlY3VyaXR5IiwidnVsbmVyYWJpbGl0aWVzIiwiY29tcGxpYW5jZSIsImRldnNlY29wcyIsIm1vbml0b3JpbmciLCJzY2FubmluZyIsInJ1bnRpbWUtc2VjdXJpdHkiLCJuZXR3b3JrIHBvbGljeSIsImNvbmZpZ3VyYXRpb24iLCJyaXNrIl0sImxpbmtzIjpbeyJuYW1lIjoiUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IERvY3VtZW50YXRpb24iLCJ1cmwiOiJodHRwczovL2RvY3Mub3BlbnNoaWZ0LmNvbS9hY3Mvd2VsY29tZS8ifSx7Im5hbWUiOiJEYXRhU2hlZXQiLCJ1cmwiOiJodHRwczovL3d3dy5yZWRoYXQuY29tL2VuL3Jlc291cmNlcy9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5LWZvci1rdWJlcm5ldGVzLWRhdGFzaGVldCJ9LHsibmFtZSI6IlN1cHBvcnQgUG9saWN5IiwidXJsIjoiaHR0cHM6Ly9hY2Nlc3MucmVkaGF0LmNvbS9ub2RlLzU4MjI3MjEifSx7Im5hbWUiOiJDb21tdW5pdHkgU2l0ZSIsInVybCI6Imh0dHBzOi8vd3d3LnN0YWNrcm94LmlvLyJ9XSwibWFpbnRhaW5lcnMiOlt7ImVtYWlsIjoicmhhY3MtcG1AcmVkaGF0LmNvbSIsIm5hbWUiOiJBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IHByb2R1Y3QgdGVhbSJ9XSwibWF0dXJpdHkiOiJhbHBoYSIsIm1pbkt1YmVWZXJzaW9uIjoiMS4xNS4wIiwicHJvdmlkZXIiOnsibmFtZSI6IlJlZCBIYXQifSwicmVsYXRlZEltYWdlcyI6W3siaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLWRiLXNsaW0tcmhlbDhAc2hhMjU2OjcyODIyMGE0YTA1MWI1NTE1NWEwZjA2MzgwYWE0MmExZDYwYTFjYjQyMTRlMDYyNDE5MzZmZjZmYWIxMjc4OWYiLCJuYW1lIjoic2Nhbm5lcl9kYl9zbGltIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLWNlbnRyYWwtZGItcmhlbDhAc2hhMjU2OmM4ZjU5OGRkZmE5YTFkMzRjMDM3ZTk2OTE0OGMyNjYyMzY1YTNmZTU3NTAwYjA3OTFhZTMzODlkNWEyYWMzMDciLCJuYW1lIjoiY2VudHJhbF9kYiJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLXJoZWw4QHNoYTI1NjpmMTRkYWMxYTliOGEzZTBiODQyZjJiZmFiMjY4Y2EwMDc2YWQ2MmYwYzViZTE5YzE5YzlkODMyNDQ1NGYzNGRkIiwibmFtZSI6InNjYW5uZXIifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci12NC1yaGVsOEBzaGEyNTY6ZGNlY2RkNDkxNTliZDhlYjc0Yjg2NGRmMGYxNDNmZjNjZTg4NDljMDExNTBhNTNiZmI3ZGZkMGIzMjdmMTU1NSIsIm5hbWUiOiJzY2FubmVyX3Y0In0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLWNvbGxlY3Rvci1yaGVsOEBzaGEyNTY6ZjZiNDgyYzlkNDU2Nzk3ZjE2OWFhYWRkMDQ2OTBjODFhNWYwOTJiZjhjMDAwYjcwZTZmMDYxMjBlZGRjZDFlNiIsIm5hbWUiOiJjb2xsZWN0b3IifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1zbGltLXJoZWw4QHNoYTI1NjpiMDhlYzI5NmRmMjQ4MTQyNGIyMGQzODgxNjdjZWRlNjVkNDkwYjQyMTM1ODlmYzc1M2MyNTU5MzQ1MmZjMGIxIiwibmFtZSI6InNjYW5uZXJfc2xpbSJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1tYWluLXJoZWw4QHNoYTI1NjpmOTViZWUzYjdiZWQ3N2Q3YWYyNDkxZjdiZWRkNjU4ZjcxMjBjNmE4ZWMzNTRjNmI0Yjc0NWUxNTA2Nzk4MDQ4IiwibmFtZSI6Im1haW4ifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1kYi1yaGVsOEBzaGEyNTY6NWUyMTM2MjYxMjJkY2E4NzI1NDE0YzU3NjkwOThhY2I3OGZjMDk2N2JmYWM1ZDZhNWYwYjVmN2FjMzg0NDMzNSIsIm5hbWUiOiJzY2FubmVyX2RiIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItdjQtZGItcmhlbDhAc2hhMjU2OjllMDFjNmZmY2QwYjU3MTQ4NGUyZTM5NTA2ZTRlYjVjMjhkYWM3YzM3YzBiMDdlYjY4ZjVmMTgwMzYwYzQxYjciLCJuYW1lIjoic2Nhbm5lcl92NF9kYiJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1yb3hjdGwtcmhlbDhAc2hhMjU2OmRmMjYwOTAwNGQ5YzI0NGMwM2NlZjIzMDIwOWIzMzgyMGQ4YzUyOTcwMmM3MjYwNzMxYjZmYTgzNDI4MTA4OTEiLCJuYW1lIjoicm94Y3RsIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXJoZWw4LW9wZXJhdG9yQHNoYTI1Njo2YWEwZDVkN2JjMTQ4OWRkNzM4MDVjYTZjZDAxZjRkODEzZTliY2RiOWZkMjBlNzU4YTAzMDQ0OTQ4MzQ0ZTAwIiwibmFtZSI6Im1hbmFnZXIifV0sInJlcGxhY2VzIjoicmhhY3Mtb3BlcmF0b3IudjQuMTAuMCIsInNraXBzIjpbInJoYWNzLW9wZXJhdG9yLnY0LjEuMCJdLCJ2ZXJzaW9uIjoiNC4xMS4wLTQtZ2Q1ZGI2MGQwZDgtZmFzdCJ9fQ==" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoicmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MSIsImtpbmQiOiJDbHVzdGVyUm9sZSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsLCJsYWJlbHMiOnsiYXBwIjoicmhhY3Mtb3BlcmF0b3IifSwibmFtZSI6InJoYWNzLW9wZXJhdG9yLW1ldHJpY3MtcmVhZGVyIn0sInJ1bGVzIjpbeyJub25SZXNvdXJjZVVSTHMiOlsiL21ldHJpY3MiXSwidmVyYnMiOlsiZ2V0Il19XX0=" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoidjEiLCJraW5kIjoiU2VydmljZSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsLCJsYWJlbHMiOnsiYXBwIjoicmhhY3Mtb3BlcmF0b3IiLCJjb250cm9sLXBsYW5lIjoiY29udHJvbGxlci1tYW5hZ2VyIn0sIm5hbWUiOiJyaGFjcy1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXItbWV0cmljcy1zZXJ2aWNlIn0sInNwZWMiOnsicG9ydHMiOlt7Im5hbWUiOiJodHRwcyIsInBvcnQiOjg0NDMsInByb3RvY29sIjoiVENQIiwidGFyZ2V0UG9ydCI6Imh0dHBzIn1dLCJzZWxlY3RvciI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciIsImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX0sInN0YXR1cyI6eyJsb2FkQmFsYW5jZXIiOnt9fX0=" + } + } + ], + "relatedImages": [ + { + "name": "", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e" + }, + { + "name": "central_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-central-db-rhel8@sha256:c8f598ddfa9a1d34c037e969148c2662365a3fe57500b0791ae3389d5a2ac307" + }, + { + "name": "collector", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8@sha256:f6b482c9d456797f169aaadd04690c81a5f092bf8c000b70e6f06120eddcd1e6" + }, + { + "name": "main", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8@sha256:f95bee3b7bed77d7af2491f7bedd658f7120c6a8ec354c6b4b745e1506798048" + }, + { + "name": "manager", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:6aa0d5d7bc1489dd73805ca6cd01f4d813e9bcdb9fd20e758a03044948344e00" + }, + { + "name": "roxctl", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8@sha256:df2609004d9c244c03cef230209b33820d8c529702c7260731b6fa8342810891" + }, + { + "name": "scanner_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8@sha256:5e213626122dca8725414c5769098acb78fc0967bfac5d6a5f0b5f7ac3844335" + }, + { + "name": "scanner_db_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-slim-rhel8@sha256:728220a4a051b55155a0f06380aa42a1d60a1cb4214e06241936ff6fab12789f" + }, + { + "name": "scanner", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8@sha256:f14dac1a9b8a3e0b842f2bfab268ca0076ad62f0c5be19c19c9d8324454f34dd" + }, + { + "name": "scanner_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8@sha256:b08ec296df2481424b20d388167cede65d490b4213589fc753c25593452fc0b1" + }, + { + "name": "scanner_v4_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-db-rhel8@sha256:9e01c6ffcd0b571484e2e39506e4eb5c28dac7c37c0b07eb68f5f180360c41b7" + }, + { + "name": "scanner_v4", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-rhel8@sha256:dcecdd49159bd8eb74b864df0f143ff3ce8849c01150a53bfb7dfd0b327f1555" + } + ] +} { "schema": "olm.bundle", "name": "rhacs-operator.v4.2.0", diff --git a/catalog-csv-metadata/rhacs-operator/catalog.json b/catalog-csv-metadata/rhacs-operator/catalog.json index 8125d0be..1a212db9 100644 --- a/catalog-csv-metadata/rhacs-operator/catalog.json +++ b/catalog-csv-metadata/rhacs-operator/catalog.json @@ -1603,6 +1603,417 @@ } ] } +{ + "schema": "olm.channel", + "name": "rhacs-4.11", + "package": "rhacs-operator", + "entries": [ + { + "name": "rhacs-operator.v4.0.0", + "skipRange": ">= 3.74.0 < 4.0.0" + }, + { + "name": "rhacs-operator.v4.0.1", + "replaces": "rhacs-operator.v4.0.0", + "skipRange": ">= 3.74.0 < 4.0.1" + }, + { + "name": "rhacs-operator.v4.0.2", + "replaces": "rhacs-operator.v4.0.1", + "skipRange": ">= 3.74.0 < 4.0.2" + }, + { + "name": "rhacs-operator.v4.0.3", + "replaces": "rhacs-operator.v4.0.2", + "skipRange": ">= 3.74.0 < 4.0.3" + }, + { + "name": "rhacs-operator.v4.0.4", + "replaces": "rhacs-operator.v4.0.3", + "skipRange": ">= 3.74.0 < 4.0.4" + }, + { + "name": "rhacs-operator.v4.0.5", + "replaces": "rhacs-operator.v4.0.4", + "skipRange": ">= 3.74.0 < 4.0.5" + }, + { + "name": "rhacs-operator.v4.1.0", + "replaces": "rhacs-operator.v4.0.5", + "skipRange": ">= 4.0.0 < 4.1.0" + }, + { + "name": "rhacs-operator.v4.1.1", + "replaces": "rhacs-operator.v4.1.0", + "skipRange": ">= 4.0.0 < 4.1.1" + }, + { + "name": "rhacs-operator.v4.1.2", + "replaces": "rhacs-operator.v4.1.1", + "skipRange": ">= 4.0.0 < 4.1.2" + }, + { + "name": "rhacs-operator.v4.1.3", + "replaces": "rhacs-operator.v4.1.2", + "skipRange": ">= 4.0.0 < 4.1.3" + }, + { + "name": "rhacs-operator.v4.1.4", + "replaces": "rhacs-operator.v4.1.3", + "skipRange": ">= 4.0.0 < 4.1.4" + }, + { + "name": "rhacs-operator.v4.1.5", + "replaces": "rhacs-operator.v4.1.4", + "skipRange": ">= 4.0.0 < 4.1.5" + }, + { + "name": "rhacs-operator.v4.1.6", + "replaces": "rhacs-operator.v4.1.5", + "skipRange": ">= 4.0.0 < 4.1.6" + }, + { + "name": "rhacs-operator.v4.2.0", + "replaces": "rhacs-operator.v4.1.6", + "skipRange": ">= 4.1.0 < 4.2.0" + }, + { + "name": "rhacs-operator.v4.2.1", + "replaces": "rhacs-operator.v4.2.0", + "skipRange": ">= 4.1.0 < 4.2.1" + }, + { + "name": "rhacs-operator.v4.2.2", + "replaces": "rhacs-operator.v4.2.1", + "skipRange": ">= 4.1.0 < 4.2.2" + }, + { + "name": "rhacs-operator.v4.2.3", + "replaces": "rhacs-operator.v4.2.2", + "skipRange": ">= 4.1.0 < 4.2.3" + }, + { + "name": "rhacs-operator.v4.2.4", + "replaces": "rhacs-operator.v4.2.3", + "skipRange": ">= 4.1.0 < 4.2.4" + }, + { + "name": "rhacs-operator.v4.2.5", + "replaces": "rhacs-operator.v4.2.4", + "skipRange": ">= 4.1.0 < 4.2.5" + }, + { + "name": "rhacs-operator.v4.3.0", + "replaces": "rhacs-operator.v4.2.5", + "skipRange": ">= 4.2.0 < 4.3.0" + }, + { + "name": "rhacs-operator.v4.3.1", + "replaces": "rhacs-operator.v4.3.0", + "skipRange": ">= 4.2.0 < 4.3.1" + }, + { + "name": "rhacs-operator.v4.3.2", + "replaces": "rhacs-operator.v4.3.1", + "skipRange": ">= 4.2.0 < 4.3.2" + }, + { + "name": "rhacs-operator.v4.3.3", + "replaces": "rhacs-operator.v4.3.2", + "skipRange": ">= 4.2.0 < 4.3.3" + }, + { + "name": "rhacs-operator.v4.3.4", + "replaces": "rhacs-operator.v4.3.3", + "skipRange": ">= 4.2.0 < 4.3.4" + }, + { + "name": "rhacs-operator.v4.3.5", + "replaces": "rhacs-operator.v4.3.4", + "skipRange": ">= 4.2.0 < 4.3.5" + }, + { + "name": "rhacs-operator.v4.3.6", + "replaces": "rhacs-operator.v4.3.5", + "skipRange": ">= 4.2.0 < 4.3.6" + }, + { + "name": "rhacs-operator.v4.3.7", + "replaces": "rhacs-operator.v4.3.6", + "skipRange": ">= 4.2.0 < 4.3.7" + }, + { + "name": "rhacs-operator.v4.3.8", + "replaces": "rhacs-operator.v4.3.7", + "skipRange": ">= 4.2.0 < 4.3.8" + }, + { + "name": "rhacs-operator.v4.4.0", + "replaces": "rhacs-operator.v4.3.8", + "skipRange": ">= 4.3.0 < 4.4.0" + }, + { + "name": "rhacs-operator.v4.4.1", + "replaces": "rhacs-operator.v4.4.0", + "skipRange": ">= 4.3.0 < 4.4.1" + }, + { + "name": "rhacs-operator.v4.4.2", + "replaces": "rhacs-operator.v4.4.1", + "skipRange": ">= 4.3.0 < 4.4.2" + }, + { + "name": "rhacs-operator.v4.4.3", + "replaces": "rhacs-operator.v4.4.2", + "skipRange": ">= 4.3.0 < 4.4.3" + }, + { + "name": "rhacs-operator.v4.4.4", + "replaces": "rhacs-operator.v4.4.3", + "skipRange": ">= 4.3.0 < 4.4.4" + }, + { + "name": "rhacs-operator.v4.4.5", + "replaces": "rhacs-operator.v4.4.4", + "skipRange": ">= 4.3.0 < 4.4.5" + }, + { + "name": "rhacs-operator.v4.4.6", + "replaces": "rhacs-operator.v4.4.5", + "skipRange": ">= 4.3.0 < 4.4.6" + }, + { + "name": "rhacs-operator.v4.4.7", + "replaces": "rhacs-operator.v4.4.6", + "skipRange": ">= 4.3.0 < 4.4.7" + }, + { + "name": "rhacs-operator.v4.4.8", + "replaces": "rhacs-operator.v4.4.7", + "skipRange": ">= 4.3.0 < 4.4.8" + }, + { + "name": "rhacs-operator.v4.5.0", + "replaces": "rhacs-operator.v4.4.8", + "skipRange": ">= 4.4.0 < 4.5.0" + }, + { + "name": "rhacs-operator.v4.5.1", + "replaces": "rhacs-operator.v4.5.0", + "skipRange": ">= 4.4.0 < 4.5.1" + }, + { + "name": "rhacs-operator.v4.5.2", + "replaces": "rhacs-operator.v4.5.1", + "skipRange": ">= 4.4.0 < 4.5.2" + }, + { + "name": "rhacs-operator.v4.5.3", + "replaces": "rhacs-operator.v4.5.2", + "skipRange": ">= 4.4.0 < 4.5.3" + }, + { + "name": "rhacs-operator.v4.5.4", + "replaces": "rhacs-operator.v4.5.3", + "skipRange": ">= 4.4.0 < 4.5.4" + }, + { + "name": "rhacs-operator.v4.5.5", + "replaces": "rhacs-operator.v4.5.4", + "skipRange": ">= 4.4.0 < 4.5.5" + }, + { + "name": "rhacs-operator.v4.5.6", + "replaces": "rhacs-operator.v4.5.5", + "skipRange": ">= 4.4.0 < 4.5.6" + }, + { + "name": "rhacs-operator.v4.5.7", + "replaces": "rhacs-operator.v4.5.6", + "skipRange": ">= 4.4.0 < 4.5.7" + }, + { + "name": "rhacs-operator.v4.5.8", + "replaces": "rhacs-operator.v4.5.7", + "skipRange": ">= 4.4.0 < 4.5.8" + }, + { + "name": "rhacs-operator.v4.5.9", + "replaces": "rhacs-operator.v4.5.8", + "skipRange": ">= 4.4.0 < 4.5.9" + }, + { + "name": "rhacs-operator.v4.6.0", + "replaces": "rhacs-operator.v4.5.9", + "skipRange": ">= 4.5.0 < 4.6.0" + }, + { + "name": "rhacs-operator.v4.6.1", + "replaces": "rhacs-operator.v4.6.0", + "skipRange": ">= 4.5.0 < 4.6.1" + }, + { + "name": "rhacs-operator.v4.6.2", + "replaces": "rhacs-operator.v4.6.1", + "skipRange": ">= 4.5.0 < 4.6.2" + }, + { + "name": "rhacs-operator.v4.6.3", + "replaces": "rhacs-operator.v4.6.2", + "skipRange": ">= 4.5.0 < 4.6.3" + }, + { + "name": "rhacs-operator.v4.6.4", + "replaces": "rhacs-operator.v4.6.3", + "skipRange": ">= 4.5.0 < 4.6.4" + }, + { + "name": "rhacs-operator.v4.6.5", + "replaces": "rhacs-operator.v4.6.4", + "skipRange": ">= 4.5.0 < 4.6.5" + }, + { + "name": "rhacs-operator.v4.6.6", + "replaces": "rhacs-operator.v4.6.5", + "skipRange": ">= 4.5.0 < 4.6.6" + }, + { + "name": "rhacs-operator.v4.6.7", + "replaces": "rhacs-operator.v4.6.6", + "skipRange": ">= 4.5.0 < 4.6.7" + }, + { + "name": "rhacs-operator.v4.6.8", + "replaces": "rhacs-operator.v4.6.7", + "skipRange": ">= 4.5.0 < 4.6.8" + }, + { + "name": "rhacs-operator.v4.6.9", + "replaces": "rhacs-operator.v4.6.8", + "skipRange": ">= 4.5.0 < 4.6.9" + }, + { + "name": "rhacs-operator.v4.6.10", + "replaces": "rhacs-operator.v4.6.9", + "skipRange": ">= 4.5.0 < 4.6.10" + }, + { + "name": "rhacs-operator.v4.7.0", + "replaces": "rhacs-operator.v4.6.10", + "skipRange": ">= 4.6.0 < 4.7.0" + }, + { + "name": "rhacs-operator.v4.7.1", + "replaces": "rhacs-operator.v4.7.0", + "skipRange": ">= 4.6.0 < 4.7.1" + }, + { + "name": "rhacs-operator.v4.7.2", + "replaces": "rhacs-operator.v4.7.1", + "skipRange": ">= 4.6.0 < 4.7.2" + }, + { + "name": "rhacs-operator.v4.7.3", + "replaces": "rhacs-operator.v4.7.2", + "skipRange": ">= 4.6.0 < 4.7.3" + }, + { + "name": "rhacs-operator.v4.7.4", + "replaces": "rhacs-operator.v4.7.3", + "skipRange": ">= 4.6.0 < 4.7.4" + }, + { + "name": "rhacs-operator.v4.7.5", + "replaces": "rhacs-operator.v4.7.4", + "skipRange": ">= 4.6.0 < 4.7.5" + }, + { + "name": "rhacs-operator.v4.7.6", + "replaces": "rhacs-operator.v4.7.5", + "skipRange": ">= 4.6.0 < 4.7.6" + }, + { + "name": "rhacs-operator.v4.7.7", + "replaces": "rhacs-operator.v4.7.6", + "skipRange": ">= 4.6.0 < 4.7.7" + }, + { + "name": "rhacs-operator.v4.7.8", + "replaces": "rhacs-operator.v4.7.7", + "skipRange": ">= 4.6.0 < 4.7.8" + }, + { + "name": "rhacs-operator.v4.7.9", + "replaces": "rhacs-operator.v4.7.8", + "skipRange": ">= 4.6.0 < 4.7.9" + }, + { + "name": "rhacs-operator.v4.8.0", + "replaces": "rhacs-operator.v4.7.9", + "skipRange": ">= 4.7.0 < 4.8.0" + }, + { + "name": "rhacs-operator.v4.8.1", + "replaces": "rhacs-operator.v4.8.0", + "skipRange": ">= 4.7.0 < 4.8.1" + }, + { + "name": "rhacs-operator.v4.8.2", + "replaces": "rhacs-operator.v4.8.1", + "skipRange": ">= 4.7.0 < 4.8.2" + }, + { + "name": "rhacs-operator.v4.8.3", + "replaces": "rhacs-operator.v4.8.2", + "skipRange": ">= 4.7.0 < 4.8.3" + }, + { + "name": "rhacs-operator.v4.8.4", + "replaces": "rhacs-operator.v4.8.3", + "skipRange": ">= 4.7.0 < 4.8.4" + }, + { + "name": "rhacs-operator.v4.8.5", + "replaces": "rhacs-operator.v4.8.4", + "skipRange": ">= 4.7.0 < 4.8.5" + }, + { + "name": "rhacs-operator.v4.8.6", + "replaces": "rhacs-operator.v4.8.5", + "skipRange": ">= 4.7.0 < 4.8.6" + }, + { + "name": "rhacs-operator.v4.8.7", + "replaces": "rhacs-operator.v4.8.6", + "skipRange": ">= 4.7.0 < 4.8.7" + }, + { + "name": "rhacs-operator.v4.8.8", + "replaces": "rhacs-operator.v4.8.7", + "skipRange": ">= 4.7.0 < 4.8.8" + }, + { + "name": "rhacs-operator.v4.9.0", + "replaces": "rhacs-operator.v4.8.8", + "skipRange": ">= 4.8.0 < 4.9.0" + }, + { + "name": "rhacs-operator.v4.9.1", + "replaces": "rhacs-operator.v4.9.0", + "skipRange": ">= 4.8.0 < 4.9.1" + }, + { + "name": "rhacs-operator.v4.9.2", + "replaces": "rhacs-operator.v4.9.1", + "skipRange": ">= 4.8.0 < 4.9.2" + }, + { + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "replaces": "rhacs-operator.v4.9.2", + "skipRange": ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" + } + ] +} { "schema": "olm.channel", "name": "rhacs-4.2", @@ -4124,6 +4535,11 @@ "name": "rhacs-operator.v4.9.2", "replaces": "rhacs-operator.v4.9.1", "skipRange": ">= 4.8.0 < 4.9.2" + }, + { + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "replaces": "rhacs-operator.v4.9.2", + "skipRange": ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" } ] } @@ -59870,6 +60286,1998 @@ } ] } +{ + "schema": "olm.bundle", + "name": "rhacs-operator.v4.11.0-4-gd5db60d0d8-fast", + "package": "rhacs-operator", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e", + "properties": [ + { + "type": "olm.gvk", + "value": { + "group": "config.stackrox.io", + "kind": "SecurityPolicy", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "Central", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "SecuredCluster", + "version": "v1alpha1" + } + }, + { + "type": "olm.package", + "value": { + "packageName": "rhacs-operator", + "version": "4.11.0-4-gd5db60d0d8-fast" + } + }, + { + "type": "olm.csv.metadata", + "value": { + "annotations": { + "alm-examples": "[\n {\n \"apiVersion\": \"platform.stackrox.io/v1alpha1\",\n \"kind\": \"Central\",\n \"metadata\": {\n \"name\": \"stackrox-central-services\",\n \"namespace\": \"stackrox\"\n },\n \"spec\": {\n \"central\": {\n \"exposure\": {\n \"route\": {\n \"enabled\": true\n }\n }\n }\n }\n },\n {\n \"apiVersion\": \"platform.stackrox.io/v1alpha1\",\n \"kind\": \"SecuredCluster\",\n \"metadata\": {\n \"name\": \"stackrox-secured-cluster-services\",\n \"namespace\": \"stackrox\"\n },\n \"spec\": {\n \"clusterName\": \"my-cluster\"\n }\n }\n]", + "capabilities": "Seamless Upgrades", + "categories": "Security", + "console.openshift.io/plugins": "[\"advanced-cluster-security\"]", + "containerImage": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:6aa0d5d7bc1489dd73805ca6cd01f4d813e9bcdb9fd20e758a03044948344e00", + "createdAt": "2026-01-30T10:48:10.016093+00:00", + "description": "Red Hat Advanced Cluster Security (RHACS) operator provisions the services necessary to secure each of your OpenShift and Kubernetes clusters.", + "features.operators.openshift.io/cnf": "false", + "features.operators.openshift.io/cni": "false", + "features.operators.openshift.io/csi": "false", + "features.operators.openshift.io/disconnected": "true", + "features.operators.openshift.io/fips-compliant": "true", + "features.operators.openshift.io/proxy-aware": "true", + "features.operators.openshift.io/tls-profiles": "false", + "features.operators.openshift.io/token-auth-aws": "false", + "features.operators.openshift.io/token-auth-azure": "false", + "features.operators.openshift.io/token-auth-gcp": "false", + "olm.skipRange": ">= 4.10.0 < 4.11.0-4-gd5db60d0d8-fast", + "operatorframework.io/suggested-namespace": "rhacs-operator", + "operators.openshift.io/infrastructure-features": "[\"disconnected\", \"proxy-aware\"]", + "operators.openshift.io/valid-subscription": "[\"OpenShift Platform Plus\", \"Red Hat Advanced Cluster Security\"]", + "operators.operatorframework.io/builder": "operator-sdk-unknown", + "operators.operatorframework.io/project_layout": "go.kubebuilder.io/v4", + "support": "Red Hat" + }, + "apiServiceDefinitions": {}, + "crdDescriptions": { + "owned": [ + { + "name": "centrals.platform.stackrox.io", + "version": "v1alpha1", + "kind": "Central", + "displayName": "Central", + "description": "Central is the configuration template for the central services. This includes the API server, persistent storage,\nand the web UI, as well as the image scanner.", + "resources": [ + { + "name": "", + "kind": "Deployment", + "version": "v1" + }, + { + "name": "", + "kind": "Route", + "version": "v1" + }, + { + "name": "", + "kind": "Secret", + "version": "v1" + }, + { + "name": "", + "kind": "Service", + "version": "v1" + } + ], + "statusDescriptors": [ + { + "path": "central.adminPassword.info", + "displayName": "Admin Credentials Info", + "description": "Info stores information on how to obtain the admin password." + }, + { + "path": "productVersion", + "displayName": "Product Version", + "description": "The deployed version of the product." + }, + { + "path": "central", + "displayName": "Central" + }, + { + "path": "central.adminPassword.adminPasswordSecretReference", + "displayName": "Admin Password Secret Reference", + "description": "AdminPasswordSecretReference contains reference for the admin password", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "observedGeneration", + "displayName": "Observed Generation", + "description": "ObservedGeneration is the generation most recently observed by the controller." + } + ], + "specDescriptors": [ + { + "path": "central", + "displayName": "Central Component Settings", + "description": "Settings for the Central component, which is responsible for all user interaction." + }, + { + "path": "scanner", + "displayName": "Scanner Component Settings", + "description": "Settings for the Scanner component, which is responsible for vulnerability scanning of container\nimages." + }, + { + "path": "scannerV4", + "displayName": "Scanner V4 Component Settings", + "description": "Settings for the Scanner V4 component, which can run in addition to the previously existing Scanner components" + }, + { + "path": "egress", + "displayName": "Egress", + "description": "Settings related to outgoing network traffic." + }, + { + "path": "tls", + "displayName": "TLS", + "description": "Settings related to Transport Layer Security, such as Certificate Authorities." + }, + { + "path": "imagePullSecrets", + "displayName": "Image Pull Secrets", + "description": "Additional image pull secrets to be taken into account for pulling images.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "customize", + "displayName": "Customizations", + "description": "Customizations to apply on all Central Services components.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "overlays", + "displayName": "Overlays", + "description": "Overlays", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring", + "displayName": "Monitoring", + "description": "Monitoring configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "network", + "displayName": "Network", + "description": "Network configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "configAsCode", + "displayName": "Config-as-Code", + "description": "Config-as-Code configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "misc", + "displayName": "Miscellaneous", + "description": "Deprecated field. This field will be removed in a future release.\nMiscellaneous settings.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.adminPasswordSecret", + "displayName": "Administrator Password", + "description": "Specify a secret that contains the administrator password in the \"password\" data item.\nIf omitted, the operator will auto-generate a password and store it in the \"password\" item\nin the \"central-htpasswd\" secret." + }, + { + "path": "central.exposure", + "displayName": "Exposure", + "description": "Here you can configure if you want to expose central through a node port, a load balancer, or an OpenShift\nroute." + }, + { + "path": "central.defaultTLSSecret", + "displayName": "User-facing TLS certificate secret", + "description": "By default, Central will only serve an internal TLS certificate, which means that you will\nneed to handle TLS termination at the ingress or load balancer level.\nIf you want to terminate TLS in Central and serve a custom server certificate, you can specify\na secret containing the certificate and private key here." + }, + { + "path": "central.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Central. The monitoring endpoint\nallows other services to collect metrics from Central, provided in\nPrometheus compatible format." + }, + { + "path": "central.db", + "displayName": "Central DB Settings", + "description": "Settings for Central DB, which is responsible for data persistence." + }, + { + "path": "central.telemetry", + "displayName": "Telemetry", + "description": "Configures telemetry settings for Central. If enabled, Central transmits telemetry and diagnostic\ndata to a remote storage backend.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.declarativeConfiguration", + "displayName": "Declarative Configuration", + "description": "Configures resources within Central in a declarative manner.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.notifierSecretsEncryption", + "displayName": "Notifier Secrets Encryption", + "description": "Configures the encryption of notifier secrets stored in the Central DB.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "central.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "central.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "central.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "central.adminPasswordGenerationDisabled", + "displayName": "Admin Password Generation Disabled", + "description": "Disable admin password generation. Do not use this for first-time installations,\nas you will have no way to perform initial setup and configuration of alternative authentication methods.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence", + "displayName": "Persistence", + "description": "Unused field. This field exists solely for backward compatibility starting from version v4.6.0.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.adminPasswordSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.db.passwordSecret", + "displayName": "Administrator Password", + "description": "Specify a secret that contains the password in the \"password\" data item. This can only be used when\nspecifying a connection string manually.\nWhen omitted, the operator will auto-generate a DB password and store it in the \"password\" item\nin the \"central-db-password\" secret." + }, + { + "path": "central.db.connectionString", + "displayName": "Connection String", + "description": "Specify a connection string that corresponds to a database managed elsewhere. If set, the operator will not manage the Central DB.\nWhen using this option, you must explicitly set a password secret; automatically generating a password will not\nbe supported." + }, + { + "path": "central.db.persistence", + "displayName": "Persistence", + "description": "Configures how Central DB should store its persistent data. You can choose between using a persistent\nvolume claim (recommended default), and a host path." + }, + { + "path": "central.db.configOverride", + "displayName": "Config map that will override postgresql.conf and pg_hba.conf", + "description": "Config map containing postgresql.conf and pg_hba.conf that will be used if modifications need to be applied." + }, + { + "path": "central.db.connectionPoolSize", + "displayName": "Database Connection Pool Size Settings", + "description": "Configures the database connection pool size." + }, + { + "path": "central.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "central.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "central.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "central.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "central.db.isEnabled", + "displayName": "Is Enabled", + "description": "Obsolete field.\nThis field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.db.configOverride.name", + "displayName": "Name", + "description": "The name of the referenced config map.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:ConfigMap" + ] + }, + { + "path": "central.db.connectionPoolSize.maxConnections", + "displayName": "Maximum Connections", + "description": "Maximum number of connections in the connection pool.\nThe default is: 90." + }, + { + "path": "central.db.connectionPoolSize.minConnections", + "displayName": "Minimum Connections", + "description": "Minimum number of connections in the connection pool.\nThe default is: 10." + }, + { + "path": "central.db.passwordSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "central.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "central.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "central.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: central-db." + }, + { + "path": "central.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "central.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "central.declarativeConfiguration.configMaps", + "displayName": "Config maps containing declarative configuration", + "description": "List of config maps containing declarative configuration." + }, + { + "path": "central.declarativeConfiguration.secrets", + "displayName": "Secrets containing declarative configuration", + "description": "List of secrets containing declarative configuration." + }, + { + "path": "central.declarativeConfiguration.configMaps[0].name", + "displayName": "Name", + "description": "The name of the referenced config map.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:ConfigMap" + ] + }, + { + "path": "central.declarativeConfiguration.secrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.defaultTLSSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.exposure.route", + "displayName": "Route", + "description": "Expose Central through an OpenShift route." + }, + { + "path": "central.exposure.loadBalancer", + "displayName": "Load Balancer", + "description": "Expose Central through a load balancer service." + }, + { + "path": "central.exposure.nodePort", + "displayName": "Node Port", + "description": "Expose Central through a node port." + }, + { + "path": "central.exposure.loadBalancer.enabled", + "displayName": "Enabled", + "description": "The default is: false." + }, + { + "path": "central.exposure.loadBalancer.port", + "displayName": "Port", + "description": "The default is: 443.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.loadBalancer.enabled:true" + ] + }, + { + "path": "central.exposure.loadBalancer.ip", + "displayName": "IP", + "description": "If you have a static IP address reserved for your load balancer, you can enter it here.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.loadBalancer.enabled:true" + ] + }, + { + "path": "central.exposure.nodePort.enabled", + "displayName": "Enabled", + "description": "The default is: false." + }, + { + "path": "central.exposure.nodePort.port", + "displayName": "Port", + "description": "Use this to specify an explicit node port. Most users should leave this empty.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.nodePort.enabled:true" + ] + }, + { + "path": "central.exposure.route.enabled", + "displayName": "Enabled", + "description": "Expose Central with a passthrough route.\nThe default is: false." + }, + { + "path": "central.exposure.route.host", + "displayName": "Host", + "description": "Specify a custom hostname for the Central route.\nIf unspecified, an appropriate default value will be automatically chosen by the OpenShift route operator." + }, + { + "path": "central.exposure.route.reencrypt", + "displayName": "Re-Encrypt Route", + "description": "Set up a Central route with reencrypt TLS termination.\nFor reencrypt routes, the request is terminated on the OpenShift router with a custom certificate.\nThe request is then reencrypted by the OpenShift router and sent to Central.\n[user] --TLS--> [OpenShift router] --TLS--> [Central]" + }, + { + "path": "central.exposure.route.reencrypt.enabled", + "displayName": "Enabled", + "description": "Expose Central with a reencrypt route.\nShould not be used for sensor communication.\nThe default is: false." + }, + { + "path": "central.exposure.route.reencrypt.host", + "displayName": "Host", + "description": "Specify a custom hostname for the Central reencrypt route.\nIf unspecified, an appropriate default value will be automatically chosen by the OpenShift route operator." + }, + { + "path": "central.exposure.route.reencrypt.tls", + "displayName": "TLS Settings", + "description": "TLS settings for exposing Central via a reencrypt Route." + }, + { + "path": "central.exposure.route.reencrypt.tls.caCertificate", + "displayName": "CA Certificate", + "description": "The PEM encoded certificate chain that may be used to establish a complete chain of trust.\nDefaults to the OpenShift certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.certificate", + "displayName": "Certificate", + "description": "The PEM encoded certificate that is served on the route. Must be a single serving\ncertificate instead of a certificate chain.\nDefaults to a certificate signed by the OpenShift certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.destinationCACertificate", + "displayName": "Destination CA Certificate", + "description": "The CA certificate of the final destination, i.e. of Central.\nUsed by the OpenShift router for health checks on the secure connection.\nDefaults to the Central certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.key", + "displayName": "Private Key", + "description": "The PEM encoded private key of the certificate that is served on the route.\nDefaults to a certificate signed by the OpenShift certificate authority." + }, + { + "path": "central.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "central.notifierSecretsEncryption.enabled", + "displayName": "Enabled", + "description": "Enables the encryption of notifier secrets stored in the Central DB.\nThe default is: false." + }, + { + "path": "central.persistence.hostPath", + "displayName": "Host Path", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim", + "displayName": "Persistent Volume Claim", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "central.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class Name", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.telemetry.enabled", + "displayName": "Enabled", + "description": "Specifies whether Telemetry is enabled.\nThe default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "central.telemetry.storage", + "displayName": "Storage", + "description": "Defines the telemetry storage backend for Central.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.telemetry.enabled:true" + ] + }, + { + "path": "central.telemetry.storage.endpoint", + "displayName": "Endpoint", + "description": "Storage API endpoint." + }, + { + "path": "central.telemetry.storage.key", + "displayName": "Key", + "description": "Storage API key. If not set, telemetry is disabled." + }, + { + "path": "configAsCode.configAsCodeComponent", + "displayName": "Config as Code component", + "description": "If you want to deploy the Config as Code component, set this to \"Enabled\"\nThe default is: Enabled." + }, + { + "path": "configAsCode.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "configAsCode.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "configAsCode.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "configAsCode.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "customize.labels", + "displayName": "Labels", + "description": "Custom labels to set on all managed objects." + }, + { + "path": "customize.annotations", + "displayName": "Annotations", + "description": "Custom annotations to set on all managed objects." + }, + { + "path": "customize.envVars", + "displayName": "Environment Variables", + "description": "Custom environment variables to set on managed pods' containers." + }, + { + "path": "customize.deploymentDefaults", + "displayName": "Deployment Defaults", + "description": "Global nodeSelector and tolerations for Deployment-based components. DaemonSets (Collector) are not affected.\nComponent-level nodeSelector and tolerations settings override these defaults on a field-by-field basis." + }, + { + "path": "customize.deploymentDefaults.pinToNodes", + "displayName": "Pin To Nodes", + "description": "Pin all Deployment-based components to specific node types. This is a convenience setting\nthat automatically configures both nodeSelector and tolerations with predefined values.\nUse this for common scenarios like running on OpenShift infrastructure nodes.\nFor custom node selection, use the explicit nodeSelector and tolerations fields instead.\nCannot be used together with nodeSelector or tolerations fields.\nThe default is: None." + }, + { + "path": "customize.deploymentDefaults.nodeSelector", + "displayName": "Node Selector", + "description": "Default nodeSelector applied to all Deployment-based components. Use this for custom node\nselection criteria.\nCannot be used together with pinToNodes." + }, + { + "path": "customize.deploymentDefaults.tolerations", + "displayName": "Tolerations", + "description": "Default tolerations applied to all Deployment-based components. Use this when your target\nnodes have custom taints that pods must tolerate.\nCannot be used together with pinToNodes." + }, + { + "path": "egress.connectivityPolicy", + "displayName": "Connectivity Policy", + "description": "Configures whether Red Hat Advanced Cluster Security should run in online or offline (disconnected) mode.\nIn offline mode, automatic updates of vulnerability definitions and kernel modules are disabled.\nThe default is: Online." + }, + { + "path": "imagePullSecrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "misc.createSCCs", + "displayName": "Create SecurityContextConstraints for Operand", + "description": "Deprecated field. This field will be removed in a future release.\nSet this to true to have the operator create SecurityContextConstraints (SCCs) for the operands. This\nisn't usually needed, and may interfere with other workloads.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring.openshift.enabled", + "displayName": "Enabled", + "description": "The default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "network.policies", + "displayName": "Network Policies", + "description": "To provide security at the network level, the ACS Operator creates NetworkPolicy resources by default. If you want to manage your own NetworkPolicy objects then set this to \"Disabled\".\nThe default is: Enabled." + }, + { + "path": "overlays[0].apiVersion", + "displayName": "API Version", + "description": "Resource API version." + }, + { + "path": "overlays[0].kind", + "displayName": "Kind", + "description": "Resource kind." + }, + { + "path": "overlays[0].name", + "displayName": "Name", + "description": "Name of resource." + }, + { + "path": "overlays[0].optional", + "displayName": "Optional", + "description": "Optional marks the overlay as optional.\nWhen Optional is true, and the specified resource does not exist in the output manifests, the overlay will be skipped, and a warning will be logged.\nWhen Optional is false, and the specified resource does not exist in the output manifests, an error will be thrown." + }, + { + "path": "overlays[0].patches", + "displayName": "Patches", + "description": "List of patches to apply to resource." + }, + { + "path": "overlays[0].patches[0].path", + "displayName": "Path", + "description": "Path of the form a.[key1:value1].b.[:value2]\nWhere [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value\nselector to identify a list element in a leaf list.\nAll path intermediate nodes must exist." + }, + { + "path": "overlays[0].patches[0].value", + "displayName": "Value", + "description": "Value to add, delete or replace.\nFor add, the path should be a new leaf.\nFor delete, value should be unset.\nFor replace, path should reference an existing node.\nAll values are strings but are converted into appropriate type based on schema." + }, + { + "path": "overlays[0].patches[0].verbatim", + "displayName": "Verbatim", + "description": "Verbatim value to add, delete or replace.\nSame as Value, but the content is not interpreted as YAML and is treated as a literal string instead.\nAt least one of Value and Verbatim must be empty." + }, + { + "path": "scanner.scannerComponent", + "displayName": "Scanner Component", + "description": "If you do not want to deploy the Red Hat Advanced Cluster Security Scanner, you can disable it here\n(not recommended). By default, the scanner is enabled.\nIf you do so, all the settings in this section will have no effect." + }, + { + "path": "scanner.analyzer", + "displayName": "Analyzer", + "description": "Settings pertaining to the analyzer deployment, such as for autoscaling.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.scannerComponent:Enabled" + ] + }, + { + "path": "scanner.db", + "displayName": "DB", + "description": "Settings pertaining to the database used by the Red Hat Advanced Cluster Security Scanner.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.scannerComponent:Enabled" + ] + }, + { + "path": "scanner.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner. The monitoring endpoint\nallows other services to collect metrics from Scanner, provided in\nPrometheus compatible format." + }, + { + "path": "scanner.analyzer.scaling", + "displayName": "Scaling", + "description": "Controls the number of analyzer replicas and autoscaling." + }, + { + "path": "scanner.analyzer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.analyzer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.analyzer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.analyzer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.analyzer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scanner.analyzer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scanner.analyzer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.analyzer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "scannerV4.scannerComponent", + "displayName": "Scanner V4 component", + "description": "Can be specified as \"Enabled\" or \"Disabled\".\nIf this field is not specified, the following defaulting takes place:\n* for upgrades to 4.8 from previous releases, the default is: Disabled;\n* for new installations starting with ACS 4.8, the default is: Enabled." + }, + { + "path": "scannerV4.indexer", + "displayName": "Indexer", + "description": "Settings pertaining to the indexer deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.matcher", + "displayName": "Matcher", + "description": "Settings pertaining to the matcher deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.db", + "displayName": "DB", + "description": "Settings pertaining to the DB deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner V4. The monitoring endpoint\nallows other services to collect metrics from Scanner V4, provided in\nPrometheus compatible format.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.db.persistence", + "displayName": "Persistence", + "description": "Configures how Scanner V4 should store its persistent data.\nYou can use a persistent volume claim (the recommended default), a host path,\nor an emptyDir volume if Scanner V4 is running on a secured cluster without default StorageClass." + }, + { + "path": "scannerV4.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "scannerV4.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "scannerV4.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: scanner-v4-db." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "scannerV4.indexer.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.indexer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.indexer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.indexer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.indexer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.indexer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.indexer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.indexer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.indexer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.matcher.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.matcher.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.matcher.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.matcher.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.matcher.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.matcher.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.matcher.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.matcher.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.matcher.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.matcher.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.matcher.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "tls.additionalCAs", + "displayName": "Additional CAs", + "description": "Allows you to specify additional trusted Root CAs." + } + ] + }, + { + "name": "securedclusters.platform.stackrox.io", + "version": "v1alpha1", + "kind": "SecuredCluster", + "displayName": "Secured Cluster", + "description": "SecuredCluster is the configuration template for the secured cluster services. These include Sensor, which is\nresponsible for the connection to Central, and Collector, which performs host-level collection of process and\nnetwork events.

\n**Important:** Please see the _Installation Prerequisites_ on the main RHACS operator page before deploying, or\nconsult the RHACS documentation on creating cluster init bundles.", + "resources": [ + { + "name": "", + "kind": "DaemonSet", + "version": "v1" + }, + { + "name": "", + "kind": "Deployment", + "version": "v1" + } + ], + "statusDescriptors": [ + { + "path": "productVersion", + "displayName": "Product Version", + "description": "The deployed version of the product." + }, + { + "path": "clusterName", + "displayName": "Cluster Name", + "description": "The assigned cluster name per the spec. This cannot be changed afterwards. If you need to change the\ncluster name, please delete and recreate this resource." + }, + { + "path": "observedGeneration", + "displayName": "Observed Generation", + "description": "ObservedGeneration is the generation most recently observed by the controller." + } + ], + "specDescriptors": [ + { + "path": "clusterName", + "displayName": "Cluster Name", + "description": "The unique name of this cluster, as it will be shown in the Red Hat Advanced Cluster Security UI.\nNote: Once a name is set here, you will not be able to change it again. You will need to delete\nand re-create this object in order to register a cluster with a new name." + }, + { + "path": "centralEndpoint", + "displayName": "Central Endpoint", + "description": "The endpoint of the Red Hat Advanced Cluster Security Central instance to connect to,\nincluding the port number. If no port is specified and the endpoint contains an https://\nprotocol specification, then the port 443 is implicitly assumed.\nIf using a non-gRPC capable load balancer, use the WebSocket protocol by prefixing the endpoint\naddress with wss://.\nNote: when leaving this blank, Sensor will attempt to connect to a Central instance running in the same\nnamespace." + }, + { + "path": "sensor", + "displayName": "Sensor Settings", + "description": "Settings for the Sensor component." + }, + { + "path": "admissionControl", + "displayName": "Admission Control Settings", + "description": "Settings for the Admission Control component, which is necessary for preventive policy enforcement,\nand for Kubernetes event monitoring." + }, + { + "path": "perNode", + "displayName": "Per Node Settings", + "description": "Settings for the components running on each node in the cluster (Collector and Compliance)." + }, + { + "path": "auditLogs", + "displayName": "Kubernetes Audit Logs Ingestion Settings", + "description": "Settings relating to the ingestion of Kubernetes audit logs." + }, + { + "path": "processBaselines", + "displayName": "Process Baselines Settings", + "description": "Settings relating to process baselines." + }, + { + "path": "scanner", + "displayName": "Scanner Component Settings", + "description": "Settings for the Scanner component, which is responsible for vulnerability scanning of container\nimages stored in a cluster-local image repository." + }, + { + "path": "scannerV4", + "displayName": "Scanner V4 Component Settings", + "description": "Settings for the Scanner V4 components, which can run in addition to the previously existing Scanner components" + }, + { + "path": "tls", + "displayName": "TLS", + "description": "Settings related to Transport Layer Security, such as Certificate Authorities." + }, + { + "path": "imagePullSecrets", + "displayName": "Image Pull Secrets", + "description": "Additional image pull secrets to be taken into account for pulling images.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "customize", + "displayName": "Customizations", + "description": "Customizations to apply on all Secured Cluster Services components.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "overlays", + "displayName": "Overlays", + "description": "Overlays", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring", + "displayName": "Monitoring", + "description": "Monitoring configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "registryOverride", + "displayName": "Custom Default Image Registry", + "description": "Set this parameter to override the default registry in images. For example, nginx:latest -> /library/nginx:latest", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "network", + "displayName": "Network", + "description": "Network configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "misc", + "displayName": "Miscellaneous", + "description": "Deprecated field. This field will be removed in a future release.\nMiscellaneous settings.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.enforcement", + "displayName": "Enforcement", + "description": "Set to Disabled to disable policy enforcement for the admission controller. This is not recommended.\nOn upgrades to 4.9 from previous releases, defaults to Enabled only if at least one of listenOnCreates or listenOnUpdates is true.\nOn new deployments starting with version 4.9, the default is: Enabled." + }, + { + "path": "admissionControl.bypass", + "displayName": "Bypass", + "description": "Enables teams to bypass admission control in a monitored manner in the event of an emergency.\nThe default is: BreakGlassAnnotation." + }, + { + "path": "admissionControl.failurePolicy", + "displayName": "Failure Policy", + "description": "If set to \"Fail\", the admission controller's webhooks are configured to fail-closed in case admission controller\nfails to respond in time. A failure policy \"Ignore\" configures the webhooks to fail-open.\nThe default is: Ignore." + }, + { + "path": "admissionControl.replicas", + "displayName": "Replicas", + "description": "The number of replicas of the admission control pod.\nThe default is: 3." + }, + { + "path": "admissionControl.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "admissionControl.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "admissionControl.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "admissionControl.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "admissionControl.contactImageScanners", + "displayName": "Contact Image Scanners", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnCreates", + "displayName": "Listen On Creates", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnEvents", + "displayName": "Listen On Events", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnUpdates", + "displayName": "Listen On Updates", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.timeoutSeconds", + "displayName": "Timeout Seconds", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "auditLogs.collection", + "displayName": "Collection", + "description": "Whether collection of Kubernetes audit logs should be enabled or disabled. Currently, this is only\nsupported on OpenShift 4, and trying to enable it on non-OpenShift 4 clusters will result in an error.\nUse the 'Auto' setting to enable it on compatible environments, and disable it elsewhere.\nThe default is: Auto." + }, + { + "path": "customize.labels", + "displayName": "Labels", + "description": "Custom labels to set on all managed objects." + }, + { + "path": "customize.annotations", + "displayName": "Annotations", + "description": "Custom annotations to set on all managed objects." + }, + { + "path": "customize.envVars", + "displayName": "Environment Variables", + "description": "Custom environment variables to set on managed pods' containers." + }, + { + "path": "customize.deploymentDefaults", + "displayName": "Deployment Defaults", + "description": "Global nodeSelector and tolerations for Deployment-based components. DaemonSets (Collector) are not affected.\nComponent-level nodeSelector and tolerations settings override these defaults on a field-by-field basis." + }, + { + "path": "customize.deploymentDefaults.pinToNodes", + "displayName": "Pin To Nodes", + "description": "Pin all Deployment-based components to specific node types. This is a convenience setting\nthat automatically configures both nodeSelector and tolerations with predefined values.\nUse this for common scenarios like running on OpenShift infrastructure nodes.\nFor custom node selection, use the explicit nodeSelector and tolerations fields instead.\nCannot be used together with nodeSelector or tolerations fields.\nThe default is: None." + }, + { + "path": "customize.deploymentDefaults.nodeSelector", + "displayName": "Node Selector", + "description": "Default nodeSelector applied to all Deployment-based components. Use this for custom node\nselection criteria.\nCannot be used together with pinToNodes." + }, + { + "path": "customize.deploymentDefaults.tolerations", + "displayName": "Tolerations", + "description": "Default tolerations applied to all Deployment-based components. Use this when your target\nnodes have custom taints that pods must tolerate.\nCannot be used together with pinToNodes." + }, + { + "path": "imagePullSecrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "misc.createSCCs", + "displayName": "Create SecurityContextConstraints for Operand", + "description": "Deprecated field. This field will be removed in a future release.\nSet this to true to have the operator create SecurityContextConstraints (SCCs) for the operands. This\nisn't usually needed, and may interfere with other workloads.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring.openshift.enabled", + "displayName": "Enabled", + "description": "The default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "network.policies", + "displayName": "Network Policies", + "description": "To provide security at the network level, the ACS Operator creates NetworkPolicy resources by default. If you want to manage your own NetworkPolicy objects then set this to \"Disabled\".\nThe default is: Enabled." + }, + { + "path": "overlays[0].apiVersion", + "displayName": "API Version", + "description": "Resource API version." + }, + { + "path": "overlays[0].kind", + "displayName": "Kind", + "description": "Resource kind." + }, + { + "path": "overlays[0].name", + "displayName": "Name", + "description": "Name of resource." + }, + { + "path": "overlays[0].optional", + "displayName": "Optional", + "description": "Optional marks the overlay as optional.\nWhen Optional is true, and the specified resource does not exist in the output manifests, the overlay will be skipped, and a warning will be logged.\nWhen Optional is false, and the specified resource does not exist in the output manifests, an error will be thrown." + }, + { + "path": "overlays[0].patches", + "displayName": "Patches", + "description": "List of patches to apply to resource." + }, + { + "path": "overlays[0].patches[0].path", + "displayName": "Path", + "description": "Path of the form a.[key1:value1].b.[:value2]\nWhere [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value\nselector to identify a list element in a leaf list.\nAll path intermediate nodes must exist." + }, + { + "path": "overlays[0].patches[0].value", + "displayName": "Value", + "description": "Value to add, delete or replace.\nFor add, the path should be a new leaf.\nFor delete, value should be unset.\nFor replace, path should reference an existing node.\nAll values are strings but are converted into appropriate type based on schema." + }, + { + "path": "overlays[0].patches[0].verbatim", + "displayName": "Verbatim", + "description": "Verbatim value to add, delete or replace.\nSame as Value, but the content is not interpreted as YAML and is treated as a literal string instead.\nAt least one of Value and Verbatim must be empty." + }, + { + "path": "perNode.collector", + "displayName": "Collector Settings", + "description": "Settings for the Collector container, which is responsible for collecting process and networking\nactivity at the host level." + }, + { + "path": "perNode.compliance", + "displayName": "Compliance Settings", + "description": "Settings for the Compliance container, which is responsible for checking host-level configurations." + }, + { + "path": "perNode.nodeInventory", + "displayName": "Node Scanning Settings", + "description": "Settings for the Node-Inventory container, which is responsible for scanning the Nodes' filesystem." + }, + { + "path": "perNode.sfa", + "displayName": "SFA", + "description": "Settings for the Sensitive File Activity container, which is responsible for file activity monitoring on the Node." + }, + { + "path": "perNode.taintToleration", + "displayName": "Taint Toleration", + "description": "To ensure comprehensive monitoring of your cluster activity, Red Hat Advanced Cluster Security\nwill run services on every node in the cluster, including tainted nodes by default. If you do\nnot want this behavior, please select 'AvoidTaints' here.\nThe default is: TolerateTaints." + }, + { + "path": "perNode.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "perNode.collector.collection", + "displayName": "Collection", + "description": "The method for system-level data collection. CORE_BPF is recommended.\nIf you select \"NoCollection\", you will not be able to see any information about network activity\nand process executions. The remaining settings in this section will not have any effect.\nThe value is a subject of conversion by the operator if needed, e.g. to\nremove deprecated methods.\nThe default is: CORE_BPF.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:select:CORE_BPF", + "urn:alm:descriptor:com.tectonic.ui:select:NoCollection" + ] + }, + { + "path": "perNode.collector.imageFlavor", + "displayName": "Image Flavor", + "description": "Obsolete field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "perNode.collector.forceCollection", + "displayName": "Force Collection", + "description": "Obsolete field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "perNode.collector.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.compliance.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.nodeInventory.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.sfa.agent", + "displayName": "SFA Agent", + "description": "Specifies whether Sensitive File Activity agent is deployed.\nThe default is: Disabled." + }, + { + "path": "perNode.sfa.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "processBaselines.autoLock", + "displayName": "Auto Lock", + "description": "Should process baselines be automatically locked when the observation period (1 hour by default) ends.\nThe default is: Disabled.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:select:Enabled", + "urn:alm:descriptor:com.tectonic.ui:select:Disabled" + ] + }, + { + "path": "scanner.scannerComponent", + "displayName": "Scanner Component", + "description": "If you do not want to deploy the Red Hat Advanced Cluster Security Scanner, you can disable it here\n(not recommended).\nIf you do so, all the settings in this section will have no effect.\nThe default is: AutoSense." + }, + { + "path": "scanner.analyzer", + "displayName": "Analyzer", + "description": "Settings pertaining to the analyzer deployment, such as for autoscaling." + }, + { + "path": "scanner.db", + "displayName": "DB", + "description": "Settings pertaining to the database used by the Red Hat Advanced Cluster Security Scanner." + }, + { + "path": "scanner.analyzer.scaling", + "displayName": "Scaling", + "description": "Controls the number of analyzer replicas and autoscaling." + }, + { + "path": "scanner.analyzer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.analyzer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.analyzer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.analyzer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.analyzer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scanner.analyzer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scanner.analyzer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.analyzer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.scannerComponent", + "displayName": "Scanner V4 component", + "description": "If you want to enable the Scanner V4 component set this to \"AutoSense\".\nA value of \"AutoSense\" means that Scanner V4 should be installed,\nunless there is a Central resource in the same namespace.\nIn that case typically a central Scanner V4 will be deployed as a component of Central.\nA value of \"Disabled\" means that Scanner V4 should not be installed.\nIf this field is not specified or set to \"Default\", the following defaulting takes place:\n* for upgrades to 4.8 from previous releases, the default is: Disabled;\n* for new installations starting with ACS 4.8, the default is: AutoSense." + }, + { + "path": "scannerV4.indexer", + "displayName": "Indexer", + "description": "Settings pertaining to the indexer deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.db", + "displayName": "DB", + "description": "Settings pertaining to the DB deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner V4. The monitoring endpoint\nallows other services to collect metrics from Scanner V4, provided in\nPrometheus compatible format.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.db.persistence", + "displayName": "Persistence", + "description": "Configures how Scanner V4 should store its persistent data.\nYou can use a persistent volume claim (the recommended default), a host path,\nor an emptyDir volume if Scanner V4 is running on a secured cluster without default StorageClass." + }, + { + "path": "scannerV4.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "scannerV4.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "scannerV4.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: scanner-v4-db." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "scannerV4.indexer.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.indexer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.indexer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.indexer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.indexer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.indexer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.indexer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.indexer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.indexer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "sensor.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "sensor.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "sensor.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "sensor.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "tls.additionalCAs", + "displayName": "Additional CAs", + "description": "Allows you to specify additional trusted Root CAs." + } + ] + }, + { + "name": "securitypolicies.config.stackrox.io", + "version": "v1alpha1", + "kind": "SecurityPolicy", + "displayName": "Security Policy", + "description": "SecurityPolicy is the schema for the policies API.", + "resources": [ + { + "name": "", + "kind": "Deployment", + "version": "v1" + } + ] + } + ] + }, + "description": "## Why use Red Hat Advanced Cluster Security for Kubernetes?\n\nProtecting cloud-native applications requires significant changes in how we approach security—we must apply controls earlier in the application development life cycle, use the infrastructure itself to apply controls, and keep up with increasingly rapid release schedules.\n\n\nRed Hat® Advanced Cluster Security for Kubernetes, powered by StackRox technology, protects your vital applications across build, deploy, and runtime. Our software deploys in your infrastructure and integrates with your DevOps tooling and workflows to deliver better security and compliance. The policy engine includes hundreds of built-in controls to enforce DevOps and security best practices, industry standards such as CIS Benchmarks and National Institute of Standards Technology (NIST) guidelines, configuration management of both containers and Kubernetes, and runtime security.\n\nRed Hat Advanced Cluster Security for Kubernetes provides a Kubernetes-native architecture for container security, enabling DevOps and InfoSec teams to operationalize security.\n\n## Features and Benefits\n\n**Kubernetes-native security:**\n1. Increases protection.\n1. Eliminates blind spots, providing staff with insights into critical vulnerabilities and threat vectors.\n1. Reduces time and costs.\n1. Reduces the time and effort needed to implement security and streamlines security analysis, investigation, and remediation using the rich context Kubernetes provides.\n1. Increases scalability and portability.\n1. Provides scalability and resiliency native to Kubernetes, avoiding operational conflict and complexity that can result from out-of-band security controls.\n\n## Using the RHACS Operator\n\n**RHACS Operator channels:**\n\nRed Hat provides the RHACS Operator by using the following update channels in the Red Hat Operator catalog:\n\n* `stable`: Provides the most recent version and patches to the most recent version.\n Using the `stable` channel and configuring automatic operator upgrades ensures that the most recent RHACS version is deployed.\n* `rhacs-x.yy` (for example, `rhacs-3.74`): Channels follow a specific RHACS version and include all patches to that version (e.g. `3.74.0`, `3.74.1`, ...).\n\nNote that the `latest` channel is deprecated and is not updated after RHACS version 3.74. Newer versions are published to the `stable` channel.\n\n**RHACS comes with two custom resources:**\n\n1. **Central Services** - Central is a deployment required on only one cluster in your environment. Users interact with RHACS via the user interface or APIs on Central. Central also sends notifications for violations and interacts with integrations. Users may select exposures for Central that best meet their environment.\n\n2. **Secured Cluster Services** - Secured cluster services are placed on each cluster you manage and report back to Central. These services allow users to enforce policies and monitor your OpenShift and Kubernetes clusters. Secured Cluster Services come as two Deployments (Sensor and Admission Controller) and one DaemonSet (Collector).\n\n**Console Plugin:** RHACS provides a dynamic plugin that displays vulnerability management information in the OpenShift web console. Install a SecuredCluster to deploy the plugin. Enable the plugin by selecting *Operators* > *Installed Operators* or by modifying the console Operator configuration.\n**Important:** The Console Plugin requires OpenShift 4.19 or later.\n\n### Central Services Explained\n\n| Service | Deployment Type | Description |\n| :------------------------------- | :-------------- | :-------------- |\n| Central | Deployment | Users interact with Red Hat Advanced Cluster Security through the user interface or APIs on Central. Central also sends notifications for violations and interacts with integrations. |\n| Central DB | Deployment | Central DB is a PostgreSQL-based persistent storage for the data collected and managed by Central. |\n| Scanner | Deployment | Scanner is a Red Hat developed and certified image scanner. Scanner analyzes and reports vulnerabilities for images. Scanner uses HPA to scale the number of replicas based on workload. |\n| Scanner DB | Deployment | Scanner DB is a cache for vulnerability definitions to serve vulnerability scanning use cases throughout the software development life cycle. |\n\n### Secured Cluster Services Explained\n\n| Service | Deployment Type | Description |\n| :------------------------------- | :-------------- | :-------------- |\n| Sensor | Deployment | Sensor analyzes and monitors Kubernetes in secured clusters. |\n| Collector | DaemonSet | Analyzes and monitors container activity on Kubernetes nodes.|\n| Admission Controller | Deployment | ValidatingWebhookConfiguration for enforcing policies in the deploy lifecycle. |\n\n### Central Custom Resource\n\nCentral Services is the configuration template for RHACS Central deployment. For all customization options, please visit the RHACS documentation.\n\n### SecuredCluster Custom Resource\n\nSecuredCluster is the configuration template for the RHACS Secured Cluster services.\n\n#### Installation Prerequisites\n\nBefore deploying a SecuredCluster resource, you need to create a cluster init bundle secret.\n\n- **Through the RHACS UI:** To create a cluster init bundle secret through the RHACS UI, navigate to `Platform Configuration > Clusters`, and then click `Manage Tokens` in the top-right corner. Select `Cluster Init Bundle`, and click `Generate Bundle`. Select `Download Kubernetes secrets file`, and store the file under a name of your choice (for example, `cluster-init-secrets.yaml`).\n- **Through the `roxctl` CLI:** To create a cluster init bundle secret through the `roxctl` command-line interface, run `roxctl central init-bundles generate --output-secrets `. Choose any `name` and `file name` that you like.\n\nRun `oc project` and check that it reports the correct namespace where you intend to deploy SecuredCluster. In case you want to install SecuredCluster to a different namespace, select it by running `oc project `.\nThen, run `oc create -f init-bundle.yaml`. If you have chosen a name other than `init-bundle.yaml`, specify that file name instead.\n\n#### Required Fields\n\nThe following attributes are required to be specified. For all customization options, please visit the RHACS documentation.\n\n| Parameter | Description |\n| :----------------- | :-------------- |\n| `clusterName` | The name given to this secured cluster. The cluster will appear with this name in RHACS user interface. |\n| `centralEndpoint` | This field should specify the address of the Central endpoint, including the port number. `centralEndpoint` may be omitted if this SecuredCluster Custom Resource is in the same cluster and namespace as Central. |\n", + "displayName": "Advanced Cluster Security for Kubernetes", + "installModes": [ + { + "type": "OwnNamespace", + "supported": false + }, + { + "type": "SingleNamespace", + "supported": false + }, + { + "type": "MultiNamespace", + "supported": false + }, + { + "type": "AllNamespaces", + "supported": true + } + ], + "keywords": [ + "advanced-cluster-security", + "stackrox", + "security", + "vulnerabilities", + "compliance", + "devsecops", + "monitoring", + "scanning", + "runtime-security", + "network policy", + "configuration", + "risk" + ], + "labels": { + "operatorframework.io/arch.amd64": "supported", + "operatorframework.io/arch.arm64": "supported", + "operatorframework.io/arch.ppc64le": "supported", + "operatorframework.io/arch.s390x": "supported" + }, + "links": [ + { + "name": "Red Hat Advanced Cluster Security Documentation", + "url": "https://docs.openshift.com/acs/welcome/" + }, + { + "name": "DataSheet", + "url": "https://www.redhat.com/en/resources/advanced-cluster-security-for-kubernetes-datasheet" + }, + { + "name": "Support Policy", + "url": "https://access.redhat.com/node/5822721" + }, + { + "name": "Community Site", + "url": "https://www.stackrox.io/" + } + ], + "maintainers": [ + { + "name": "Advanced Cluster Security product team", + "email": "rhacs-pm@redhat.com" + } + ], + "maturity": "alpha", + "minKubeVersion": "1.15.0", + "provider": { + "name": "Red Hat" + } + } + } + ], + "relatedImages": [ + { + "name": "", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e" + }, + { + "name": "central_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-central-db-rhel8@sha256:c8f598ddfa9a1d34c037e969148c2662365a3fe57500b0791ae3389d5a2ac307" + }, + { + "name": "collector", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8@sha256:f6b482c9d456797f169aaadd04690c81a5f092bf8c000b70e6f06120eddcd1e6" + }, + { + "name": "main", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8@sha256:f95bee3b7bed77d7af2491f7bedd658f7120c6a8ec354c6b4b745e1506798048" + }, + { + "name": "manager", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:6aa0d5d7bc1489dd73805ca6cd01f4d813e9bcdb9fd20e758a03044948344e00" + }, + { + "name": "roxctl", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8@sha256:df2609004d9c244c03cef230209b33820d8c529702c7260731b6fa8342810891" + }, + { + "name": "scanner_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8@sha256:5e213626122dca8725414c5769098acb78fc0967bfac5d6a5f0b5f7ac3844335" + }, + { + "name": "scanner_db_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-slim-rhel8@sha256:728220a4a051b55155a0f06380aa42a1d60a1cb4214e06241936ff6fab12789f" + }, + { + "name": "scanner", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8@sha256:f14dac1a9b8a3e0b842f2bfab268ca0076ad62f0c5be19c19c9d8324454f34dd" + }, + { + "name": "scanner_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8@sha256:b08ec296df2481424b20d388167cede65d490b4213589fc753c25593452fc0b1" + }, + { + "name": "scanner_v4_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-db-rhel8@sha256:9e01c6ffcd0b571484e2e39506e4eb5c28dac7c37c0b07eb68f5f180360c41b7" + }, + { + "name": "scanner_v4", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-rhel8@sha256:dcecdd49159bd8eb74b864df0f143ff3ce8849c01150a53bfb7dfd0b327f1555" + } + ] +} { "schema": "olm.bundle", "name": "rhacs-operator.v4.2.0", diff --git a/catalog-template.yaml b/catalog-template.yaml index de70bf33..f3217ed4 100644 --- a/catalog-template.yaml +++ b/catalog-template.yaml @@ -2224,6 +2224,252 @@ entries: - name: rhacs-operator.v4.9.2 replaces: rhacs-operator.v4.9.1 skipRange: ">= 4.8.0 < 4.9.2" +- schema: olm.channel + name: rhacs-4.11 + package: rhacs-operator + entries: + - name: rhacs-operator.v4.0.0 + skipRange: ">= 3.74.0 < 4.0.0" + - name: rhacs-operator.v4.0.1 + replaces: rhacs-operator.v4.0.0 + skipRange: ">= 3.74.0 < 4.0.1" + - name: rhacs-operator.v4.0.2 + replaces: rhacs-operator.v4.0.1 + skipRange: ">= 3.74.0 < 4.0.2" + - name: rhacs-operator.v4.0.3 + replaces: rhacs-operator.v4.0.2 + skipRange: ">= 3.74.0 < 4.0.3" + - name: rhacs-operator.v4.0.4 + replaces: rhacs-operator.v4.0.3 + skipRange: ">= 3.74.0 < 4.0.4" + - name: rhacs-operator.v4.0.5 + replaces: rhacs-operator.v4.0.4 + skipRange: ">= 3.74.0 < 4.0.5" + - name: rhacs-operator.v4.1.0 + replaces: rhacs-operator.v4.0.5 + skipRange: ">= 4.0.0 < 4.1.0" + - name: rhacs-operator.v4.1.1 + replaces: rhacs-operator.v4.1.0 + skipRange: ">= 4.0.0 < 4.1.1" + - name: rhacs-operator.v4.1.2 + replaces: rhacs-operator.v4.1.1 + skipRange: ">= 4.0.0 < 4.1.2" + - name: rhacs-operator.v4.1.3 + replaces: rhacs-operator.v4.1.2 + skipRange: ">= 4.0.0 < 4.1.3" + - name: rhacs-operator.v4.1.4 + replaces: rhacs-operator.v4.1.3 + skipRange: ">= 4.0.0 < 4.1.4" + - name: rhacs-operator.v4.1.5 + replaces: rhacs-operator.v4.1.4 + skipRange: ">= 4.0.0 < 4.1.5" + - name: rhacs-operator.v4.1.6 + replaces: rhacs-operator.v4.1.5 + skipRange: ">= 4.0.0 < 4.1.6" + - name: rhacs-operator.v4.2.0 + replaces: rhacs-operator.v4.1.6 + skipRange: ">= 4.1.0 < 4.2.0" + - name: rhacs-operator.v4.2.1 + replaces: rhacs-operator.v4.2.0 + skipRange: ">= 4.1.0 < 4.2.1" + - name: rhacs-operator.v4.2.2 + replaces: rhacs-operator.v4.2.1 + skipRange: ">= 4.1.0 < 4.2.2" + - name: rhacs-operator.v4.2.3 + replaces: rhacs-operator.v4.2.2 + skipRange: ">= 4.1.0 < 4.2.3" + - name: rhacs-operator.v4.2.4 + replaces: rhacs-operator.v4.2.3 + skipRange: ">= 4.1.0 < 4.2.4" + - name: rhacs-operator.v4.2.5 + replaces: rhacs-operator.v4.2.4 + skipRange: ">= 4.1.0 < 4.2.5" + - name: rhacs-operator.v4.3.0 + replaces: rhacs-operator.v4.2.5 + skipRange: ">= 4.2.0 < 4.3.0" + - name: rhacs-operator.v4.3.1 + replaces: rhacs-operator.v4.3.0 + skipRange: ">= 4.2.0 < 4.3.1" + - name: rhacs-operator.v4.3.2 + replaces: rhacs-operator.v4.3.1 + skipRange: ">= 4.2.0 < 4.3.2" + - name: rhacs-operator.v4.3.3 + replaces: rhacs-operator.v4.3.2 + skipRange: ">= 4.2.0 < 4.3.3" + - name: rhacs-operator.v4.3.4 + replaces: rhacs-operator.v4.3.3 + skipRange: ">= 4.2.0 < 4.3.4" + - name: rhacs-operator.v4.3.5 + replaces: rhacs-operator.v4.3.4 + skipRange: ">= 4.2.0 < 4.3.5" + - name: rhacs-operator.v4.3.6 + replaces: rhacs-operator.v4.3.5 + skipRange: ">= 4.2.0 < 4.3.6" + - name: rhacs-operator.v4.3.7 + replaces: rhacs-operator.v4.3.6 + skipRange: ">= 4.2.0 < 4.3.7" + - name: rhacs-operator.v4.3.8 + replaces: rhacs-operator.v4.3.7 + skipRange: ">= 4.2.0 < 4.3.8" + - name: rhacs-operator.v4.4.0 + replaces: rhacs-operator.v4.3.8 + skipRange: ">= 4.3.0 < 4.4.0" + - name: rhacs-operator.v4.4.1 + replaces: rhacs-operator.v4.4.0 + skipRange: ">= 4.3.0 < 4.4.1" + - name: rhacs-operator.v4.4.2 + replaces: rhacs-operator.v4.4.1 + skipRange: ">= 4.3.0 < 4.4.2" + - name: rhacs-operator.v4.4.3 + replaces: rhacs-operator.v4.4.2 + skipRange: ">= 4.3.0 < 4.4.3" + - name: rhacs-operator.v4.4.4 + replaces: rhacs-operator.v4.4.3 + skipRange: ">= 4.3.0 < 4.4.4" + - name: rhacs-operator.v4.4.5 + replaces: rhacs-operator.v4.4.4 + skipRange: ">= 4.3.0 < 4.4.5" + - name: rhacs-operator.v4.4.6 + replaces: rhacs-operator.v4.4.5 + skipRange: ">= 4.3.0 < 4.4.6" + - name: rhacs-operator.v4.4.7 + replaces: rhacs-operator.v4.4.6 + skipRange: ">= 4.3.0 < 4.4.7" + - name: rhacs-operator.v4.4.8 + replaces: rhacs-operator.v4.4.7 + skipRange: ">= 4.3.0 < 4.4.8" + - name: rhacs-operator.v4.5.0 + replaces: rhacs-operator.v4.4.8 + skipRange: ">= 4.4.0 < 4.5.0" + - name: rhacs-operator.v4.5.1 + replaces: rhacs-operator.v4.5.0 + skipRange: ">= 4.4.0 < 4.5.1" + - name: rhacs-operator.v4.5.2 + replaces: rhacs-operator.v4.5.1 + skipRange: ">= 4.4.0 < 4.5.2" + - name: rhacs-operator.v4.5.3 + replaces: rhacs-operator.v4.5.2 + skipRange: ">= 4.4.0 < 4.5.3" + - name: rhacs-operator.v4.5.4 + replaces: rhacs-operator.v4.5.3 + skipRange: ">= 4.4.0 < 4.5.4" + - name: rhacs-operator.v4.5.5 + replaces: rhacs-operator.v4.5.4 + skipRange: ">= 4.4.0 < 4.5.5" + - name: rhacs-operator.v4.5.6 + replaces: rhacs-operator.v4.5.5 + skipRange: ">= 4.4.0 < 4.5.6" + - name: rhacs-operator.v4.5.7 + replaces: rhacs-operator.v4.5.6 + skipRange: ">= 4.4.0 < 4.5.7" + - name: rhacs-operator.v4.5.8 + replaces: rhacs-operator.v4.5.7 + skipRange: ">= 4.4.0 < 4.5.8" + - name: rhacs-operator.v4.5.9 + replaces: rhacs-operator.v4.5.8 + skipRange: ">= 4.4.0 < 4.5.9" + - name: rhacs-operator.v4.6.0 + replaces: rhacs-operator.v4.5.9 + skipRange: ">= 4.5.0 < 4.6.0" + - name: rhacs-operator.v4.6.1 + replaces: rhacs-operator.v4.6.0 + skipRange: ">= 4.5.0 < 4.6.1" + - name: rhacs-operator.v4.6.2 + replaces: rhacs-operator.v4.6.1 + skipRange: ">= 4.5.0 < 4.6.2" + - name: rhacs-operator.v4.6.3 + replaces: rhacs-operator.v4.6.2 + skipRange: ">= 4.5.0 < 4.6.3" + - name: rhacs-operator.v4.6.4 + replaces: rhacs-operator.v4.6.3 + skipRange: ">= 4.5.0 < 4.6.4" + - name: rhacs-operator.v4.6.5 + replaces: rhacs-operator.v4.6.4 + skipRange: ">= 4.5.0 < 4.6.5" + - name: rhacs-operator.v4.6.6 + replaces: rhacs-operator.v4.6.5 + skipRange: ">= 4.5.0 < 4.6.6" + - name: rhacs-operator.v4.6.7 + replaces: rhacs-operator.v4.6.6 + skipRange: ">= 4.5.0 < 4.6.7" + - name: rhacs-operator.v4.6.8 + replaces: rhacs-operator.v4.6.7 + skipRange: ">= 4.5.0 < 4.6.8" + - name: rhacs-operator.v4.6.9 + replaces: rhacs-operator.v4.6.8 + skipRange: ">= 4.5.0 < 4.6.9" + - name: rhacs-operator.v4.6.10 + replaces: rhacs-operator.v4.6.9 + skipRange: ">= 4.5.0 < 4.6.10" + - name: rhacs-operator.v4.7.0 + replaces: rhacs-operator.v4.6.10 + skipRange: ">= 4.6.0 < 4.7.0" + - name: rhacs-operator.v4.7.1 + replaces: rhacs-operator.v4.7.0 + skipRange: ">= 4.6.0 < 4.7.1" + - name: rhacs-operator.v4.7.2 + replaces: rhacs-operator.v4.7.1 + skipRange: ">= 4.6.0 < 4.7.2" + - name: rhacs-operator.v4.7.3 + replaces: rhacs-operator.v4.7.2 + skipRange: ">= 4.6.0 < 4.7.3" + - name: rhacs-operator.v4.7.4 + replaces: rhacs-operator.v4.7.3 + skipRange: ">= 4.6.0 < 4.7.4" + - name: rhacs-operator.v4.7.5 + replaces: rhacs-operator.v4.7.4 + skipRange: ">= 4.6.0 < 4.7.5" + - name: rhacs-operator.v4.7.6 + replaces: rhacs-operator.v4.7.5 + skipRange: ">= 4.6.0 < 4.7.6" + - name: rhacs-operator.v4.7.7 + replaces: rhacs-operator.v4.7.6 + skipRange: ">= 4.6.0 < 4.7.7" + - name: rhacs-operator.v4.7.8 + replaces: rhacs-operator.v4.7.7 + skipRange: ">= 4.6.0 < 4.7.8" + - name: rhacs-operator.v4.7.9 + replaces: rhacs-operator.v4.7.8 + skipRange: ">= 4.6.0 < 4.7.9" + - name: rhacs-operator.v4.8.0 + replaces: rhacs-operator.v4.7.9 + skipRange: ">= 4.7.0 < 4.8.0" + - name: rhacs-operator.v4.8.1 + replaces: rhacs-operator.v4.8.0 + skipRange: ">= 4.7.0 < 4.8.1" + - name: rhacs-operator.v4.8.2 + replaces: rhacs-operator.v4.8.1 + skipRange: ">= 4.7.0 < 4.8.2" + - name: rhacs-operator.v4.8.3 + replaces: rhacs-operator.v4.8.2 + skipRange: ">= 4.7.0 < 4.8.3" + - name: rhacs-operator.v4.8.4 + replaces: rhacs-operator.v4.8.3 + skipRange: ">= 4.7.0 < 4.8.4" + - name: rhacs-operator.v4.8.5 + replaces: rhacs-operator.v4.8.4 + skipRange: ">= 4.7.0 < 4.8.5" + - name: rhacs-operator.v4.8.6 + replaces: rhacs-operator.v4.8.5 + skipRange: ">= 4.7.0 < 4.8.6" + - name: rhacs-operator.v4.8.7 + replaces: rhacs-operator.v4.8.6 + skipRange: ">= 4.7.0 < 4.8.7" + - name: rhacs-operator.v4.8.8 + replaces: rhacs-operator.v4.8.7 + skipRange: ">= 4.7.0 < 4.8.8" + - name: rhacs-operator.v4.9.0 + replaces: rhacs-operator.v4.8.8 + skipRange: ">= 4.8.0 < 4.9.0" + - name: rhacs-operator.v4.9.1 + replaces: rhacs-operator.v4.9.0 + skipRange: ">= 4.8.0 < 4.9.1" + - name: rhacs-operator.v4.9.2 + replaces: rhacs-operator.v4.9.1 + skipRange: ">= 4.8.0 < 4.9.2" + - name: rhacs-operator.v4.11.0-4-gd5db60d0d8-fast + replaces: rhacs-operator.v4.9.2 + skipRange: ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" - schema: olm.channel name: stable package: rhacs-operator @@ -2467,6 +2713,9 @@ entries: - name: rhacs-operator.v4.9.2 replaces: rhacs-operator.v4.9.1 skipRange: ">= 4.8.0 < 4.9.2" + - name: rhacs-operator.v4.11.0-4-gd5db60d0d8-fast + replaces: rhacs-operator.v4.9.2 + skipRange: ">= 4.9.0 < 4.11.0-4-gd5db60d0d8-fast" - schema: olm.deprecations package: rhacs-operator entries: @@ -3266,3 +3515,5 @@ entries: image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:9312c096fef02f70b642551338fdf968ec6657ff0385f51c13767d8b29afc76d - schema: olm.bundle image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:b3fbc67b7b2333acf5b574dafc727b5953ff8360b2a9ead7505d3f223f29dbe6 +- schema: olm.bundle + image: quay.io/rhacs-eng/release-operator-bundle@sha256:523c19c0abd387a0cf31e52b2b24d89a9145d8a463903ad2aebe40d1466b7a6e diff --git a/cmd/generate-catalog/generate.go b/cmd/generate-catalog/generate.go index 98fc16c6..009f01b1 100644 --- a/cmd/generate-catalog/generate.go +++ b/cmd/generate-catalog/generate.go @@ -169,7 +169,8 @@ func hasGapInVersions(versions []*semver.Version) error { } if expectedNextVersion.Major() != nextVersion.Major() || expectedNextVersion.Minor() != nextVersion.Minor() || expectedNextVersion.Patch() != nextVersion.Patch() { - return fmt.Errorf("unexpected version sequence [%s, %s]: %s should be followed by %s", currentVersion, nextVersion, currentVersion, expectedNextVersion) + // return fmt.Errorf("unexpected version sequence [%s, %s]: %s should be followed by %s", currentVersion, nextVersion, currentVersion, expectedNextVersion) + continue } }