diff --git a/.github/workflows/apk-release.yml b/.github/workflows/apk-release.yml index aae9ccfece..cef860dbd1 100644 --- a/.github/workflows/apk-release.yml +++ b/.github/workflows/apk-release.yml @@ -40,10 +40,10 @@ jobs: with: fetch-depth: 2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4b36ee42f4..bae4c3dcd9 100755 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,10 +29,10 @@ jobs: with: fetch-depth: 2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -101,10 +101,10 @@ jobs: with: fetch-depth: 2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -172,10 +172,10 @@ jobs: with: fetch-depth: 2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -221,9 +221,10 @@ jobs: force-avd-creation: true emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true - script: ./gradlew -PlocalPropertiesFile=local.properties :quest:clean && ./gradlew -PlocalPropertiesFile=local.properties :quest:assembleOpensrpDebugAndroidTest --stacktrace && /Users/runner/Library/Android/sdk/platform-tools/adb install quest/build/outputs/apk/androidTest/opensrp/debug/quest-opensrp-debug-androidTest.apk && ./gradlew -PlocalPropertiesFile=local.properties :quest:assembleOpensrpDebug --stacktrace && /Users/runner/Library/Android/sdk/platform-tools/adb install quest/build/outputs/apk/opensrp/debug/quest-opensrp-debug.apk && /Users/runner/Library/Android/sdk/platform-tools/adb shell am instrument -w -e notPackage org.smartregister.fhircore.quest.performance -e coverage "true" org.smartregister.opensrp.test/org.smartregister.fhircore.quest.QuestTestRunner && /Users/runner/Library/Android/sdk/platform-tools/adb shell run-as org.smartregister.opensrp cat "/data/data/org.smartregister.opensrp/files/coverage.ec" > quest/coverage.ec && ./gradlew -PlocalPropertiesFile=local.properties :quest:fhircoreJacocoReport --stacktrace + script: ./gradlew clean -PlocalPropertiesFile=local.properties :quest:fhircoreJacocoReport --stacktrace -Pandroid.testInstrumentationRunnerArguments.notPackage=org.smartregister.fhircore.quest.performance + # ./gradlew -PlocalPropertiesFile=local.properties :quest:clean && ./gradlew -PlocalPropertiesFile=local.properties :quest:assembleOpensrpDebugAndroidTest --stacktrace && /Users/runner/Library/Android/sdk/platform-tools/adb install quest/build/outputs/apk/androidTest/opensrp/debug/quest-opensrp-debug-androidTest.apk && ./gradlew -PlocalPropertiesFile=local.properties :quest:assembleOpensrpDebug --stacktrace && /Users/runner/Library/Android/sdk/platform-tools/adb install quest/build/outputs/apk/opensrp/debug/quest-opensrp-debug.apk && /Users/runner/Library/Android/sdk/platform-tools/adb shell am instrument -w -e package org.smartregister.fhircore.quest.ui.profile -e coverage "true" org.smartregister.opensrp.test/org.smartregister.fhircore.quest.QuestTestRunner && /Users/runner/Library/Android/sdk/platform-tools/adb shell run-as org.smartregister.opensrp cat "/data/user/0/org.smartregister.opensrp/files/coverage.ec" > quest/coverage.ec && ./gradlew -PlocalPropertiesFile=local.properties :quest:fhircoreJacocoReport --stacktrace - name: Upload Quest module test coverage report to Codecov if: matrix.api-level == 30 # Only upload coverage on API level 30 working-directory: android - run: bash <(curl -s https://codecov.io/bash) -F quest -f "quest/build/reports/jacoco/fhircoreJacocoReport/fhircoreJacocoReport.xml" \ No newline at end of file + run: bash <(curl -s https://codecov.io/bash) -F quest -f "quest/build/reports/jacoco/fhircoreJacocoReport/fhircoreJacocoReport.xml" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index cabfd0c90f..8801f96364 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -40,10 +40,10 @@ jobs: - name: Checkout 🛎️ uses: actions/checkout@v2.3.1 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/.github/workflows/performance-tests.yml b/.github/workflows/performance-tests.yml index d32e011348..ef2da135a0 100644 --- a/.github/workflows/performance-tests.yml +++ b/.github/workflows/performance-tests.yml @@ -27,10 +27,10 @@ jobs: with: fetch-depth: 2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -80,4 +80,4 @@ jobs: - name: Check performance results working-directory: android - run: ./gradlew :quest:evaluatePerformanceBenchmarkResults --stacktrace \ No newline at end of file + run: ./gradlew :quest:evaluatePerformanceBenchmarkResults --stacktrace diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 4339fb0fb3..3ec2a3038a 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -20,10 +20,10 @@ jobs: with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Cache SonarQube packages uses: actions/cache@v1 diff --git a/CHANGELOG.md b/CHANGELOG.md index ea9745bc14..82fa6bc16f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.0] - 2024-xx-xx + +### Changed +- Upgrade to latest Android FHIR SDK version includes + 1. an upgrade to the HAPI FHIR libraries used to process StructureMaps. In the previous libraries `$this.id` returned `[ResourceType]/[ID #]`, the new libraries return `[ID #]`. Therefore, any existing StructureMaps that call `$this.id` will need to replace that with `$this.type().name + '/' + $this.id` to have the equivalent output. + 2. changes to Measure evaluation that requires all Measure JSON files to be rebuilt. + 3. change to some [MetadataResources](https://hl7.org/fhir/R5/metadataresource.html) that requires they are referenced by URL and not ID. Any existing content that referes to StructureMaps by ID must be updated to refer to it by URL. If we are not storing a URL for it, we will need to add that. E.g. `Library.url`, `Plandefinition.url` because the `FhirOperator` API uses that field to uniquely identify/retrieve the Metadata resource. + 4. for CQL evaluation, the context is referred to using `%subject` and not `$this`. The latter is reserved for FHIRPath expressions while the former is used for CQL expressions to refer to the primary subject of the expression e.g. patient. + ## [0.2.4] - 2023-06-24 ### Added - Insights feature to show stats on any _Unsynced_ Resources on the device diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 12f6f49436..ea86e50a19 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -6,22 +6,23 @@ import org.jetbrains.dokka.base.DokkaBaseConfiguration // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { dependencies { - classpath("de.mannodermaus.gradle.plugins:android-junit5:1.8.2.1") - classpath("com.android.tools.build:gradle:7.1.3") - classpath("org.jetbrains.dokka:dokka-base:1.8.20") + classpath(libs.kotlin.gradle.plugin) + classpath(libs.coveralls.gradle.plugin) + classpath(libs.gradle) + classpath(libs.dokka.base) } } -@Suppress("DSL_SCOPE_VIOLATION") plugins { - id("com.github.kt3k.coveralls") version "2.12.0" - id("org.jetbrains.kotlin.jvm") version "1.8.10" + alias(libs.plugins.org.jetbrains.kotlin.jvm) + alias(libs.plugins.kt3k.coveralls) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.dagger.hilt.android) apply false alias(libs.plugins.androidx.navigation.safeargs) apply false alias(libs.plugins.org.jetbrains.dokka) alias(libs.plugins.org.owasp.dependencycheck) - alias(libs.plugins.com.diffplug.spotless) + alias(libs.plugins.com.diffplug.spotless) apply false + alias(libs.plugins.android.junit5) apply false } @@ -36,6 +37,7 @@ tasks.dokkaHtmlMultiModule { allprojects { repositories { + gradlePluginPortal() mavenLocal() google() mavenCentral() @@ -89,16 +91,16 @@ subprojects { resolutionStrategy { eachDependency { when (requested.group) { - "org.jacoco" -> useVersion("0.8.7") + "org.jacoco" -> useVersion("0.8.11") } } } } - tasks.withType { + tasks.withType { configure { isIncludeNoLocationClasses = true - excludes = listOf("jdk.internal.*") + excludes = listOf("jdk.internal.*", "**org.hl7*") } } } diff --git a/android/buildSrc/build.gradle.kts b/android/buildSrc/build.gradle.kts new file mode 100644 index 0000000000..d27e231a90 --- /dev/null +++ b/android/buildSrc/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + `kotlin-dsl` +} + +repositories { + google() + gradlePluginPortal() + mavenCentral() +} \ No newline at end of file diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt new file mode 100644 index 0000000000..b541812960 --- /dev/null +++ b/android/buildSrc/src/main/kotlin/Dependencies.kt @@ -0,0 +1,144 @@ +/* + * Copyright 2023-2024 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.DependencyConstraint +import org.gradle.kotlin.dsl.exclude + +object Dependencies { + + object HapiFhir { + const val fhirBaseModule = "ca.uhn.hapi.fhir:hapi-fhir-base" + const val fhirClientModule = "ca.uhn.hapi.fhir:hapi-fhir-client" + const val structuresDstu2Module = "ca.uhn.hapi.fhir:hapi-fhir-structures-dstu2" + const val structuresDstu3Module = "ca.uhn.hapi.fhir:hapi-fhir-structures-dstu3" + const val structuresR4Module = "ca.uhn.hapi.fhir:hapi-fhir-structures-r4" + const val structuresR4bModule = "ca.uhn.hapi.fhir:hapi-fhir-structures-r4b" + const val structuresR5Module = "ca.uhn.hapi.fhir:hapi-fhir-structures-r5" + + const val validationModule = "ca.uhn.hapi.fhir:hapi-fhir-validation" + const val validationDstu3Module = "ca.uhn.hapi.fhir:hapi-fhir-validation-resources-dstu3" + const val validationR4Module = "ca.uhn.hapi.fhir:hapi-fhir-validation-resources-r4" + const val validationR5Module = "ca.uhn.hapi.fhir:hapi-fhir-validation-resources-r5" + + const val fhirCoreDstu2Module = "ca.uhn.hapi.fhir:org.hl7.fhir.dstu2" + const val fhirCoreDstu2016Module = "ca.uhn.hapi.fhir:org.hl7.fhir.dstu2016may" + const val fhirCoreDstu3Module = "ca.uhn.hapi.fhir:org.hl7.fhir.dstu3" + const val fhirCoreR4Module = "ca.uhn.hapi.fhir:org.hl7.fhir.r4" + const val fhirCoreR4bModule = "ca.uhn.hapi.fhir:org.hl7.fhir.r4b" + const val fhirCoreR5Module = "ca.uhn.hapi.fhir:org.hl7.fhir.r5" + const val fhirCoreUtilsModule = "ca.uhn.hapi.fhir:org.hl7.fhir.utilities" + const val fhirCoreConvertorsModule = "ca.uhn.hapi.fhir:org.hl7.fhir.convertors" + + const val guavaCachingModule = "ca.uhn.hapi.fhir:hapi-fhir-caching-guava" + + const val fhirBase = "$fhirBaseModule:${Versions.hapiFhir}" + const val fhirClient = "$fhirClientModule:${Versions.hapiFhir}" + const val structuresDstu2 = "$structuresDstu2Module:${Versions.hapiFhir}" + const val structuresDstu3 = "$structuresDstu3Module:${Versions.hapiFhir}" + const val structuresR4 = "$structuresR4Module:${Versions.hapiFhir}" + const val structuresR4b = "$structuresR4bModule:${Versions.hapiFhir}" + const val structuresR5 = "$structuresR5Module:${Versions.hapiFhir}" + + const val validation = "$validationModule:${Versions.hapiFhir}" + const val validationDstu3 = "$validationDstu3Module:${Versions.hapiFhir}" + const val validationR4 = "$validationR4Module:${Versions.hapiFhir}" + const val validationR5 = "$validationR5Module:${Versions.hapiFhir}" + + const val fhirCoreDstu2 = "$fhirCoreDstu2Module:${Versions.hapiFhirCore}" + const val fhirCoreDstu2016 = "$fhirCoreDstu2016Module:${Versions.hapiFhirCore}" + const val fhirCoreDstu3 = "$fhirCoreDstu3Module:${Versions.hapiFhirCore}" + const val fhirCoreR4 = "$fhirCoreR4Module:${Versions.hapiFhirCore}" + const val fhirCoreR4b = "$fhirCoreR4bModule:${Versions.hapiFhirCore}" + const val fhirCoreR5 = "$fhirCoreR5Module:${Versions.hapiFhirCore}" + const val fhirCoreUtils = "$fhirCoreUtilsModule:${Versions.hapiFhirCore}" + const val fhirCoreConvertors = "$fhirCoreConvertorsModule:${Versions.hapiFhirCore}" + + const val guavaCaching = "$guavaCachingModule:${Versions.hapiFhir}" + } + + object Jackson { + private const val mainGroup = "com.fasterxml.jackson" + private const val coreGroup = "$mainGroup.core" + private const val dataformatGroup = "$mainGroup.dataformat" + private const val datatypeGroup = "$mainGroup.datatype" + private const val moduleGroup = "$mainGroup.module" + + const val annotationsBase = "$coreGroup:jackson-annotations:${Versions.jackson}" + const val bomBase = "$mainGroup:jackson-bom:${Versions.jackson}" + const val coreBase = "$coreGroup:jackson-core:${Versions.jacksonCore}" + const val databindBase = "$coreGroup:jackson-databind:${Versions.jackson}" + const val dataformatXmlBase = "$dataformatGroup:jackson-dataformat-xml:${Versions.jackson}" + const val jaxbAnnotationsBase = + "$moduleGroup:jackson-module-jaxb-annotations:${Versions.jackson}" + const val jsr310Base = "$datatypeGroup:jackson-datatype-jsr310:${Versions.jackson}" + } + + object Versions { + const val hapiFhir = "6.8.0" + const val hapiFhirCore = "6.0.22" + + // Maximum Jackson libraries (excluding core) version that supports Android API Level 24: + // https://github.com/FasterXML/jackson-databind/issues/3658 + const val jackson = "2.13.5" + + // Maximum Jackson Core library version that supports Android API Level 24: + const val jacksonCore = "2.15.2" + } + + fun Configuration.removeIncompatibleDependencies() { + exclude(module = "xpp3") + exclude(module = "xpp3_min") + exclude(module = "xmlpull") + exclude(module = "javax.json") + exclude(module = "jcl-over-slf4j") + exclude(group = "org.apache.httpcomponents") + exclude(group = "org.antlr", module = "antlr4") + exclude(group = "org.eclipse.persistence", module = "org.eclipse.persistence.moxy") + exclude(module = "hapi-fhir-caching-caffeine") + exclude(group = "com.github.ben-manes.caffeine", module = "caffeine") + } + + fun hapiFhirConstraints(): Map Unit> { + return mutableMapOf Unit>( + HapiFhir.fhirBaseModule to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.fhirClientModule to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.fhirCoreConvertorsModule to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreDstu2Module to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreDstu2016Module to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreDstu3Module to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreR4Module to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreR4bModule to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreR5Module to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.fhirCoreUtilsModule to { version { strictly(Versions.hapiFhirCore) } }, + HapiFhir.structuresDstu2Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.structuresDstu3Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.structuresR4Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.structuresR5Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.validationModule to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.validationDstu3Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.validationR4Module to { version { strictly(Versions.hapiFhir) } }, + HapiFhir.validationR5Module to { version { strictly(Versions.hapiFhir) } }, + Jackson.annotationsBase to { version { strictly(Versions.jackson) } }, + Jackson.bomBase to { version { strictly(Versions.jackson) } }, + Jackson.coreBase to { version { strictly(Versions.jacksonCore) } }, + Jackson.databindBase to { version { strictly(Versions.jackson) } }, + Jackson.jaxbAnnotationsBase to { version { strictly(Versions.jackson) } }, + Jackson.jsr310Base to { version { strictly(Versions.jackson) } }, + Jackson.dataformatXmlBase to { version { strictly(Versions.jackson) } }, + ) + } +} diff --git a/android/engine/build.gradle.kts b/android/engine/build.gradle.kts index f3d9659fb7..2a7c1e6e9d 100644 --- a/android/engine/build.gradle.kts +++ b/android/engine/build.gradle.kts @@ -1,3 +1,4 @@ +import Dependencies.removeIncompatibleDependencies import org.gradle.api.tasks.testing.logging.TestLogEvent buildscript { @@ -19,9 +20,10 @@ plugins { android { compileSdk = 34 + namespace = "org.smartregister.fhircore.engine" + defaultConfig { minSdk = 26 - targetSdk = 34 testInstrumentationRunner = "org.smartregister.fhircore.engine.EngineTestRunner" consumerProguardFiles("consumer-rules.pro") buildConfigField( @@ -32,7 +34,7 @@ android { } buildTypes { - getByName("debug") { isTestCoverageEnabled = true } + getByName("debug") { enableUnitTestCoverage = true } create("debugNonProxy") { initWith(getByName("debug")) @@ -50,21 +52,22 @@ android { } compileOptions { isCoreLibraryDesugaringEnabled = true - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs = listOf("-Xjvm-default=all-compatibility") } buildFeatures { compose = true viewBinding = true dataBinding = true + buildConfig = true } - composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } + composeOptions { kotlinCompilerExtensionVersion = "1.5.8" } - packagingOptions { + packaging { resources.excludes.addAll( listOf( "license.html", @@ -98,7 +101,9 @@ android { } } - testCoverage { jacocoVersion = "0.8.7" } + lint { baseline = file("lint-baseline.xml") } + + testCoverage { jacocoVersion = "0.8.11" } } tasks.withType { @@ -114,6 +119,7 @@ configurations { exclude(group = "javax", module = "javaee-api") exclude(group = "xml-apis") exclude(group = "xpp3") + removeIncompatibleDependencies() } } @@ -134,54 +140,40 @@ dependencies { implementation(libs.compressor) implementation(libs.xercesImpl) implementation(libs.msg.simple) - implementation(libs.cqf.cql.engine) - implementation(libs.cql.engine.jackson) implementation(libs.dagger.hilt.android) implementation(libs.hilt.work) implementation(libs.slf4j.nop) - implementation(libs.cqf.cql.evaluator) { - exclude(group = "com.github.ben-manes.caffeine") - exclude(group = "ca.uhn.hapi.fhir") - } - implementation(libs.cql.evaluator.builder) { - exclude(group = "com.github.ben-manes.caffeine") - exclude(group = "ca.uhn.hapi.fhir") - } - implementation(libs.cql.evaluator.plandefinition) { - exclude(group = "com.github.ben-manes.caffeine") - exclude(group = "ca.uhn.hapi.fhir") - } - implementation(libs.cql.evaluator.dagger) { - exclude(group = "com.github.ben-manes.caffeine") - exclude(group = "ca.uhn.hapi.fhir") - } - // Shared dependencies api(libs.bundles.datastore.kt) - api(libs.glide) - api(libs.knowledger) - api(libs.p2p.lib) - api(libs.jjwt) - api(libs.fhir.common.utils) api(libs.bundles.navigation) api(libs.bundles.materialicons) api(libs.bundles.compose) - api(libs.hilt.navigation.compose) api(libs.bundles.lifecycle) - api(libs.paging.compose) - api(libs.kotlinx.serialization.json) api(libs.bundles.accompanist) + api(libs.bundles.coroutines) + api(libs.bundles.retrofit2) + api(libs.bundles.okhttp3) + api(libs.bundles.paging) + api(libs.ui) + + // Shared dependencies + api(libs.glide) + api(libs.knowledge) { exclude(group = "org.slf4j", module = "jcl-over-slf4j") } + api(libs.p2p.lib) + api(libs.jjwt) + api(libs.fhir.common.utils) { exclude(group = "org.slf4j", module = "jcl-over-slf4j") } + api(libs.runtime.livedata) + api(libs.material3) + api(libs.foundation) + api(libs.fhir.common.utils) + api(libs.kotlinx.serialization.json) api(libs.work.runtime.ktx) api(libs.prettytime) - api(libs.bundles.coroutines) api(libs.kotlin.reflect) api(libs.stax.api) - api(libs.caffeine) api(libs.gson) api(libs.timber) - api(libs.bundles.retrofit2) api(libs.converter.gson) - api(libs.bundles.okhttp3) api(libs.json.path) api(libs.commons.jexl3) { exclude(group = "commons-logging", module = "commons-logging") } api(libs.easy.rules.jexl) { @@ -192,13 +184,19 @@ dependencies { isTransitive = true exclude(group = "ca.uhn.hapi.fhir") exclude(group = "com.google.android.fhir", module = "engine") + exclude(group = "com.google.android.fhir", module = "common") + exclude(group = "org.slf4j", module = "jcl-over-slf4j") + } + api(libs.cqf.fhir.cr) { + isTransitive = true + exclude(group = "org.codelibs", module = "xpp3") + exclude(group = "org.slf4j", module = "jcl-over-slf4j") } api(libs.workflow) { isTransitive = true exclude(group = "xerces") exclude(group = "com.github.java-json-tools") exclude(group = "org.codehaus.woodstox") - exclude(group = "ca.uhn.hapi.fhir") exclude(group = "com.google.android.fhir", module = "common") exclude(group = "com.google.android.fhir", module = "engine") exclude(group = "com.github.ben-manes.caffeine") @@ -221,19 +219,18 @@ dependencies { kapt(libs.dagger.hilt.compiler) // Annotation processors for test - kaptTest(libs.hilt.android.compiler) - kaptAndroidTest(libs.hilt.android.compiler) + kaptTest(libs.dagger.hilt.android.compiler) + kaptAndroidTest(libs.dagger.hilt.android.compiler) - testRuntimeOnly(libs.junit.jupiter.engine) - testRuntimeOnly(libs.junit.vintage.engine) + testRuntimeOnly(libs.bundles.junit.jupiter.runtime) // Test dependencies testImplementation(libs.work.runtime.ktx) - testImplementation(libs.hilt.android.testing) + testImplementation(libs.dagger.hilt.android.testing) testImplementation(libs.junit.jupiter.api) testImplementation(libs.robolectric) testImplementation(libs.bundles.junit.test) - testImplementation(libs.bundles.coroutine.test) + testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.core.testing) testImplementation(libs.mockk) testImplementation(libs.json) @@ -243,14 +240,36 @@ dependencies { // To run only on debug builds debugImplementation(libs.ui.test.manifest) debugImplementation(libs.fragment.testing) + debugImplementation(libs.ui.tooling) // Android test dependencies androidTestImplementation(libs.bundles.junit.test) androidTestImplementation(libs.runner) androidTestImplementation(libs.ui.test.junit4) - androidTestImplementation(libs.hilt.android.testing) + androidTestImplementation(libs.dagger.hilt.android.testing) androidTestImplementation(libs.benchmark.junit) + /** + * This is an SDK Dependency graph bug workaround file HAPI FHIR Dependencies missing at runtime + * after building FHIRCore application module + * + * To be included in the engine/build.gradle.kts file via apply {} + */ + implementation(Dependencies.HapiFhir.structuresR4) { exclude(module = "junit") } + implementation(Dependencies.HapiFhir.guavaCaching) + implementation(Dependencies.HapiFhir.validationR4) + implementation(Dependencies.HapiFhir.validation) { + exclude(module = "commons-logging") + exclude(module = "httpclient") + } + + constraints { + Dependencies.hapiFhirConstraints().forEach { (libName, constraints) -> + api(libName, constraints) + } + } + + /** End SDK Dependency Graph workaround * */ ktlint(libs.ktlint.main) { attributes { attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.EXTERNAL)) } } diff --git a/android/engine/src/main/AndroidManifest.xml b/android/engine/src/main/AndroidManifest.xml index 24f17ab8fa..abfce0677a 100644 --- a/android/engine/src/main/AndroidManifest.xml +++ b/android/engine/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/OpenSrpApplication.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/OpenSrpApplication.kt index 5c3cbbadf6..0eb087cece 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/OpenSrpApplication.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/OpenSrpApplication.kt @@ -17,7 +17,8 @@ package org.smartregister.fhircore.engine import android.app.Application +import java.net.URL abstract class OpenSrpApplication : Application() { - abstract fun getFhirServerHost(): String + abstract fun getFhirServerHost(): URL? } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistry.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistry.kt index d9ba60de54..390b8a6aa9 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistry.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistry.kt @@ -18,10 +18,15 @@ package org.smartregister.fhircore.engine.configuration import android.content.Context import android.database.SQLException +import android.os.Process +import ca.uhn.fhir.context.FhirContext import com.google.android.fhir.FhirEngine import com.google.android.fhir.db.ResourceNotFoundException import com.google.android.fhir.get +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.logicalId +import dagger.hilt.android.qualifiers.ApplicationContext +import java.io.File import java.io.FileNotFoundException import java.net.UnknownHostException import java.nio.charset.StandardCharsets @@ -41,11 +46,13 @@ import org.hl7.fhir.r4.model.Binary import org.hl7.fhir.r4.model.Bundle import org.hl7.fhir.r4.model.Composition import org.hl7.fhir.r4.model.ListResource +import org.hl7.fhir.r4.model.MetadataResource import org.hl7.fhir.r4.model.Resource import org.hl7.fhir.r4.model.ResourceType import org.jetbrains.annotations.VisibleForTesting import org.json.JSONObject import org.smartregister.fhircore.engine.BuildConfig +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.configuration.app.ConfigService import org.smartregister.fhircore.engine.configuration.profile.ProfileConfiguration import org.smartregister.fhircore.engine.configuration.register.RegisterConfiguration @@ -65,6 +72,7 @@ import org.smartregister.fhircore.engine.util.extension.extractLogicalIdUuid import org.smartregister.fhircore.engine.util.extension.fileExtension import org.smartregister.fhircore.engine.util.extension.generateMissingId import org.smartregister.fhircore.engine.util.extension.interpolate +import org.smartregister.fhircore.engine.util.extension.referenceValue import org.smartregister.fhircore.engine.util.extension.retrieveCompositionSections import org.smartregister.fhircore.engine.util.extension.searchCompositionByIdentifier import org.smartregister.fhircore.engine.util.extension.tryDecodeJson @@ -84,6 +92,8 @@ constructor( val dispatcherProvider: DispatcherProvider, val configService: ConfigService, val json: Json, + @ApplicationContext val context: Context, + private var openSrpApplication: OpenSrpApplication?, ) { val configsJsonMap = mutableMapOf() @@ -91,6 +101,17 @@ constructor( val localizationHelper: LocalizationHelper by lazy { LocalizationHelper(this) } private val supportedFileExtensions = listOf("json", "properties") private var _isNonProxy = BuildConfig.IS_NON_PROXY_APK + private val fhirContext = FhirContext.forR4Cached() + + @Inject lateinit var knowledgeManager: KnowledgeManager + + private val jsonParser = fhirContext.newJsonParser() + + init { + Thread.setDefaultUncaughtExceptionHandler { thread, throwable -> + Process.killProcess(Process.myPid()) + } + } /** * Retrieve configuration for the provided [ConfigType]. The JSON retrieved from [configsJsonMap] @@ -384,19 +405,6 @@ constructor( configCacheMap.clear() sharedPreferencesHelper.read(SharedPreferenceKey.APP_ID.name, null)?.let { appId -> val parsedAppId = appId.substringBefore(TYPE_REFERENCE_DELIMITER).trim() - // if (isInitialLogin) return null - val filterResourceList = - listOf( - ResourceType.Questionnaire.name, - ResourceType.StructureMap.name, - ResourceType.List.name, - ResourceType.PlanDefinition.name, - ResourceType.Library.name, - ResourceType.Measure.name, - ResourceType.Basic.name, - ResourceType.Binary.name, - ResourceType.Parameters, - ) val patientRelatedResourceTypes = mutableListOf() val compositionResource = fetchRemoteComposition(parsedAppId) compositionResource?.let { composition -> @@ -412,7 +420,7 @@ constructor( missingDelimiterValue = "", ) } - .filter { entry -> entry.key in filterResourceList } + .filter { entry -> entry.key in FILTER_RESOURCE_LIST } .forEach { entry: Map.Entry> -> if (entry.key == ResourceType.List.name) { processCompositionListResources( @@ -561,6 +569,40 @@ constructor( Timber.e(sqlException) } } + + /** + * Knowledge manager [MetadataResource]s install Here we install all resources types of + * [MetadataResource] as per FHIR Spec.This supports future use cases as well + */ + try { + if (resource is MetadataResource && resource.name != null) { + knowledgeManager.install( + writeToFile(resource.overwriteCanonicalURL()), + ) + } + } catch (exception: Exception) { + Timber.e(exception) + } + } + } + + private fun MetadataResource.overwriteCanonicalURL() = + this.apply { + url = + url + ?: "${openSrpApplication?.getFhirServerHost().toString()?.trimEnd { it == '/' }}/${this.referenceValue()}" + } + + private fun writeToFile(resource: Resource): File { + val fileName = + if (resource is MetadataResource && resource.name != null) { + resource.name + } else { + resource.idElement.idPart + } + + return File(context.filesDir, "$fileName.json").apply { + writeText(jsonParser.encodeResourceToString(resource)) } } @@ -576,7 +618,7 @@ constructor( it.updateLastUpdated() it.generateMissingId() } - fhirEngine.createRemote(*resources) + fhirEngine.create(*resources, isLocalOnly = true) } } @@ -631,7 +673,7 @@ constructor( fun clearConfigsCache() = configCacheMap.clear() - suspend fun processCompositionListResources( + private suspend fun processCompositionListResources( resourceGroup: Map.Entry< String, @@ -681,12 +723,12 @@ constructor( } } - fun FhirResourceConfig.dependentResourceTypes(target: MutableList) { + private fun FhirResourceConfig.dependentResourceTypes(target: MutableList) { this.baseResource.dependentResourceTypes(target) this.relatedResources.forEach { it.dependentResourceTypes(target) } } - fun ResourceConfig.dependentResourceTypes(target: MutableList) { + private fun ResourceConfig.dependentResourceTypes(target: MutableList) { target.add(resource) relatedResources.forEach { it.dependentResourceTypes(target) } } @@ -733,5 +775,23 @@ constructor( const val ORGANIZATION = "organization" const val TYPE_REFERENCE_DELIMITER = "/" const val DEFAULT_COUNT = 200 + + /** + * The list of resources whose types can be synced down as part of the Composition configs. + * These are hardcoded as they are not meant to be easily configurable to avoid config vs data + * sync issues + */ + val FILTER_RESOURCE_LIST = + listOf( + ResourceType.Questionnaire.name, + ResourceType.StructureMap.name, + ResourceType.List.name, + ResourceType.PlanDefinition.name, + ResourceType.Library.name, + ResourceType.Measure.name, + ResourceType.Basic.name, + ResourceType.Binary.name, + ResourceType.Parameters, + ) } } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/DefaultRepository.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/DefaultRepository.kt index 5bbb57ef1e..9c3c9d2b8d 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/DefaultRepository.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/DefaultRepository.kt @@ -173,7 +173,7 @@ constructor( suspend fun createRemote(addResourceTags: Boolean = true, vararg resource: Resource) { return withContext(dispatcherProvider.io()) { preProcessResources(addResourceTags, *resource) - fhirEngine.createRemote(*resource) + fhirEngine.create(*resource, isLocalOnly = true) } } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/register/RegisterRepository.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/register/RegisterRepository.kt index 4fd1f104f6..a94393f984 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/register/RegisterRepository.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/data/local/register/RegisterRepository.kt @@ -120,8 +120,7 @@ constructor( (it.paramType == ActionParameterType.PARAMDATA || it.paramType == ActionParameterType.UPDATE_DATE_ON_EDIT) && it.value.isNotEmpty() } - ?.associate { it.key to it.value } - ?: emptyMap() + ?.associate { it.key to it.value } ?: emptyMap() val profileConfiguration = retrieveProfileConfiguration(profileId, paramsMap) val resourceConfig = fhirResourceConfig ?: profileConfiguration.fhirResource diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/di/CoreModule.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/di/CoreModule.kt index a38ff70dcd..a3a1eb6d01 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/di/CoreModule.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/di/CoreModule.kt @@ -19,7 +19,6 @@ package org.smartregister.fhircore.engine.di import android.accounts.AccountManager import android.content.Context import ca.uhn.fhir.context.FhirContext -import ca.uhn.fhir.context.FhirVersionEnum import com.google.android.fhir.FhirEngine import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.workflow.FhirOperator @@ -61,10 +60,19 @@ class CoreModule { fun provideKnowledgeManager(@ApplicationContext context: Context): KnowledgeManager = KnowledgeManager.create(context) - @Singleton @Provides fun provideFhirContext() = FhirContext.forCached(FhirVersionEnum.R4) + @Singleton @Provides fun provideFhirContext(): FhirContext = FhirContext.forR4Cached()!! @Singleton @Provides - fun provideFhirOperator(fhirEngine: FhirEngine): FhirOperator = - FhirOperator(fhirContext = FhirContext.forCached(FhirVersionEnum.R4), fhirEngine = fhirEngine) + fun provideFhirOperator( + @ApplicationContext context: Context, + fhirContext: FhirContext, + fhirEngine: FhirEngine, + knowledgeManager: KnowledgeManager, + ): FhirOperator = + FhirOperator.Builder(context) + .fhirEngine(fhirEngine) + .fhirContext(fhirContext) + .knowledgeManager(knowledgeManager) + .build() } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/di/NetworkModule.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/di/NetworkModule.kt index afaedd6d13..9a3e0918fe 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/di/NetworkModule.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/di/NetworkModule.kt @@ -27,6 +27,7 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent +import java.util.TimeZone import java.util.concurrent.TimeUnit import javax.inject.Singleton import kotlinx.serialization.ExperimentalSerializationApi @@ -47,6 +48,7 @@ import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirConverter import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceService import org.smartregister.fhircore.engine.data.remote.shared.TokenAuthenticator import org.smartregister.fhircore.engine.util.SharedPreferencesHelper +import org.smartregister.fhircore.engine.util.TimeZoneTypeAdapter import org.smartregister.fhircore.engine.util.extension.getCustomJsonParser import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory @@ -93,7 +95,7 @@ class NetworkModule { openSrpApplication?.let { if ( - (request.url.host == it.getFhirServerHost()) && + (request.url.host == it.getFhirServerHost()?.host) && CUSTOM_ENDPOINTS.contains(resourcePath) ) { val newUrl = request.url.newBuilder().encodedPath("/$resourcePath").build() @@ -156,7 +158,12 @@ class NetworkModule { .retryOnConnectionFailure(false) // Avoid silent retries sometimes before token is provided .build() - @Provides fun provideGson(): Gson = GsonBuilder().setLenient().create() + @Provides + fun provideGson(): Gson = + GsonBuilder() + .setLenient() + .registerTypeAdapter(TimeZone::class.java, TimeZoneTypeAdapter().nullSafe()) + .create() @Provides fun provideParser(): IParser = FhirContext.forR4Cached().getCustomJsonParser() diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/p2p/dao/BaseP2PTransferDao.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/p2p/dao/BaseP2PTransferDao.kt index 4d40275454..2893539540 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/p2p/dao/BaseP2PTransferDao.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/p2p/dao/BaseP2PTransferDao.kt @@ -17,7 +17,6 @@ package org.smartregister.fhircore.engine.p2p.dao import ca.uhn.fhir.context.FhirContext -import ca.uhn.fhir.context.FhirVersionEnum import ca.uhn.fhir.parser.IParser import ca.uhn.fhir.rest.gclient.DateClientParam import ca.uhn.fhir.rest.gclient.StringClientParam @@ -49,7 +48,7 @@ constructor( open val configurationRegistry: ConfigurationRegistry, ) { - protected val jsonParser: IParser = FhirContext.forCached(FhirVersionEnum.R4).newJsonParser() + protected val jsonParser: IParser = FhirContext.forR4Cached().newJsonParser() open fun getDataTypes(): TreeSet { val appRegistry = diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/ResourceDataRulesExecutor.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/ResourceDataRulesExecutor.kt index 98a0902ede..b078f4c9c7 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/ResourceDataRulesExecutor.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/ResourceDataRulesExecutor.kt @@ -120,8 +120,8 @@ class ResourceDataRulesExecutor @Inject constructor(val rulesFactory: RulesFacto relatedListResource.fhirPathExpression.let { rulesFactory.rulesEngineService.retrieveRelatedResources( resource = resource, - relatedResourceKey = relatedListResource.relatedResourceId - ?: relatedListResource.resourceType.name, + relatedResourceKey = + relatedListResource.relatedResourceId ?: relatedListResource.resourceType.name, referenceFhirPathExpression = it, relatedResourcesMap = relatedResourcesMap, ) @@ -197,8 +197,7 @@ class ResourceDataRulesExecutor @Inject constructor(val rulesFactory: RulesFacto fhirPathExpression = sortConfig.fhirPathExpression, dataType = sortConfig.dataType.name, order = sortConfig.order.name, - ) - ?: resources + ) ?: resources } else { resources } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/RulesFactory.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/RulesFactory.kt index b8c22c42b0..0b47b65408 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/RulesFactory.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/rulesengine/RulesFactory.kt @@ -226,15 +226,13 @@ constructor( fhirPathDataExtractor.extractData(base, conditionalFhirPathExpression).any { it.isBooleanPrimitive && it.primitiveValue().toBoolean() } - } - ?: false + } ?: false } else { resources?.any { base -> fhirPathDataExtractor.extractData(base, conditionalFhirPathExpression).any { it.isBooleanPrimitive && it.primitiveValue().toBoolean() } - } - ?: false + } ?: false } /** @@ -273,8 +271,7 @@ constructor( } } ?.distinctBy { it } - ?.joinToString(",") - ?: "" + ?.joinToString(",") ?: "" /** * Transforms a [resource] into [label] if the [fhirPathExpression] is evaluated to true. @@ -407,8 +404,7 @@ constructor( } return resources?.filter { fhirPathDataExtractor.extractValue(it, conditionalFhirPathExpression).toBoolean() - } - ?: emptyList() + } ?: emptyList() } /** @@ -496,8 +492,7 @@ constructor( ): Long = relatedResourceCounts ?.find { parentResourceId.equals(it.parentResourceId, ignoreCase = true) } - ?.count - ?: 0 + ?.count ?: 0 /** * This function sorts [resources] by comparing the values extracted by FHIRPath using the diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/AppSyncWorker.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/AppSyncWorker.kt index 04318cfcec..41a1d58833 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/AppSyncWorker.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/AppSyncWorker.kt @@ -24,6 +24,7 @@ import com.google.android.fhir.sync.AcceptLocalConflictResolver import com.google.android.fhir.sync.ConflictResolver import com.google.android.fhir.sync.DownloadWorkManager import com.google.android.fhir.sync.FhirSyncWorker +import com.google.android.fhir.sync.upload.UploadStrategy import dagger.assisted.Assisted import dagger.assisted.AssistedInject @@ -34,8 +35,8 @@ constructor( @Assisted appContext: Context, @Assisted workerParams: WorkerParameters, val syncListenerManager: SyncListenerManager, - val openSrpFhirEngine: FhirEngine, - val appTimeStampContext: AppTimeStampContext, + private val openSrpFhirEngine: FhirEngine, + private val appTimeStampContext: AppTimeStampContext, ) : FhirSyncWorker(appContext, workerParams) { override fun getConflictResolver(): ConflictResolver = AcceptLocalConflictResolver @@ -47,4 +48,6 @@ constructor( ) override fun getFhirEngine(): FhirEngine = openSrpFhirEngine + + override fun getUploadStrategy(): UploadStrategy = UploadStrategy.AllChangesSquashedBundlePut } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/SyncBroadcaster.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/SyncBroadcaster.kt index ba13d48555..716e68641c 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/SyncBroadcaster.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/sync/SyncBroadcaster.kt @@ -107,7 +107,7 @@ constructor( // PeriodSync doesn't return state. It's enqueued instead. Finish the sync as workaround. if (workInfo.state == WorkInfo.State.ENQUEUED) { syncListenerManager.onSyncListeners.forEach { onSyncListener -> - onSyncListener.onSync(SyncJobStatus.Finished()) + onSyncListener.onSync(SyncJobStatus.Succeeded()) } } else { val data = diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirCarePlanGenerator.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirCarePlanGenerator.kt index c483cc3a9a..8cb0ea4735 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirCarePlanGenerator.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirCarePlanGenerator.kt @@ -134,61 +134,7 @@ constructor( ) carePlanModified = true } else { - planDefinition.action.forEach { action -> - val input = Bundle().apply { entry.addAll(data.entry) } - - if (action.passesConditions(input, planDefinition, subject)) { - val definition = action.activityDefinition(planDefinition) - - if (action.hasTransform()) { - val taskPeriods = action.taskPeriods(definition, output) - - taskPeriods.forEachIndexed { index, period -> - val source = - Parameters().apply { - addResourceParameter(CarePlan.SP_SUBJECT, subject) - addResourceParameter(PlanDefinition.SP_DEFINITION, definition) - // TODO find some other way (activity definition based) to pass additional data - addResourceParameter(PlanDefinition.SP_DEPENDS_ON, data) - } - source.setParameter(Task.SP_PERIOD, period) - source.setParameter(ActivityDefinition.SP_VERSION, IntegerType(index)) - - val structureMap = fhirEngine.get(IdType(action.transform).idPart) - structureMapUtilities.transform( - transformSupportServices.simpleWorkerContext, - source, - structureMap, - output, - ) - } - } - - if (definition.hasDynamicValue()) { - definition.dynamicValue.forEach { dynamicValue -> - if (definition.kind == ActivityDefinition.ActivityDefinitionKind.CAREPLAN) { - dynamicValue.expression.expression - .let { fhirPathEngine.evaluate(null, input, planDefinition, subject, it) } - ?.takeIf { it.isNotEmpty() } - ?.let { evaluatedValue -> - // TODO handle cases where we explicitly need to set previous value as null, - // when passing null to Terser, it gives error NPE - Timber.d("${dynamicValue.path}, evaluatedValue: $evaluatedValue") - TerserUtil.setFieldByFhirPath( - FhirContext.forR4Cached(), - dynamicValue.path.removePrefix("${definition.kind.display}."), - output, - evaluatedValue.first(), - ) - } - } else { - throw UnsupportedOperationException("${definition.kind} not supported") - } - } - } - carePlanModified = true - } - } + carePlanModified = liteApplyPlanDefinitionOnPatient(planDefinition, data, subject, output) } val carePlanTasks = output.contained.filterIsInstance() @@ -205,6 +151,72 @@ constructor( return if (output.hasActivity()) output else null } + /** Implements OpenSRP's $lite version of CarePlan & Tasks generation via StructureMap(s) */ + private suspend fun liteApplyPlanDefinitionOnPatient( + planDefinition: PlanDefinition, + data: Bundle, + subject: Resource, + output: CarePlan, + ): Boolean { + var carePlanModified = false + planDefinition.action.forEach { action -> + val input = Bundle().apply { entry.addAll(data.entry) } + + if (action.passesConditions(input, planDefinition, subject)) { + val definition = action.activityDefinition(planDefinition) + + if (action.hasTransform()) { + val taskPeriods = action.taskPeriods(definition, output) + + taskPeriods.forEachIndexed { index, period -> + val source = + Parameters().apply { + addResourceParameter(CarePlan.SP_SUBJECT, subject) + addResourceParameter(PlanDefinition.SP_DEFINITION, definition) + // TODO find some other way (activity definition based) to pass additional data + addResourceParameter(PlanDefinition.SP_DEPENDS_ON, data) + } + source.setParameter(Task.SP_PERIOD, period) + source.setParameter(ActivityDefinition.SP_VERSION, IntegerType(index)) + + val structureMap = fhirEngine.get(IdType(action.transform).idPart) + structureMapUtilities.transform( + transformSupportServices.simpleWorkerContext, + source, + structureMap, + output, + ) + } + } + + if (definition.hasDynamicValue()) { + definition.dynamicValue.forEach { dynamicValue -> + if (definition.kind == ActivityDefinition.ActivityDefinitionKind.CAREPLAN) { + dynamicValue.expression.expression + .let { fhirPathEngine.evaluate(null, input, planDefinition, subject, it) } + ?.takeIf { it.isNotEmpty() } + ?.let { evaluatedValue -> + // TODO handle cases where we explicitly need to set previous value as null, + // when passing null to Terser, it gives error NPE + Timber.d("${dynamicValue.path}, evaluatedValue: $evaluatedValue") + TerserUtil.setFieldByFhirPath( + FhirContext.forR4Cached(), + dynamicValue.path.removePrefix("${definition.kind.display}."), + output, + evaluatedValue.first(), + ) + } + } else { + throw UnsupportedOperationException("${definition.kind} not supported") + } + } + } + carePlanModified = true + } + } + return carePlanModified + } + private suspend fun saveCarePlan(output: CarePlan) { output .also { Timber.d(it.encodeResourceToString()) } @@ -214,8 +226,7 @@ constructor( carePlan.contained.clear() - // Save CarePlan only if it has activity, otherwise just save contained/dependent resources - if (output.hasActivity()) defaultRepository.addOrUpdate(true, carePlan) + defaultRepository.addOrUpdate(true, carePlan) dependents.forEach { defaultRepository.addOrUpdate(true, it) } @@ -248,7 +259,7 @@ constructor( ?.run { defaultRepository.addOrUpdate(addMandatoryTags = true, resource = this) } } - suspend fun cancelTaskByTaskId(id: String, reason: String) { + private suspend fun cancelTaskByTaskId(id: String, reason: String) { updateTaskDetailsByResourceId(id, TaskStatus.CANCELLED, reason) } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirResourceUtil.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirResourceUtil.kt index 53bf0ac34a..af99a0e8dd 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirResourceUtil.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/FhirResourceUtil.kt @@ -207,8 +207,7 @@ constructor( .find { it.reference.startsWith(ResourceType.Task.name + "/") } ?.let { defaultRepository.fhirEngine.get(it.extractId()).status.isIn(TaskStatus.COMPLETED) - } - ?: false + } ?: false suspend fun closeRelatedResources(resource: Resource) { val appRegistry = diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/WorkflowCarePlanGenerator.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/WorkflowCarePlanGenerator.kt index 62f54405f3..c40b1a092a 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/task/WorkflowCarePlanGenerator.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/task/WorkflowCarePlanGenerator.kt @@ -18,39 +18,31 @@ package org.smartregister.fhircore.engine.task import android.content.Context import ca.uhn.fhir.context.FhirContext -import ca.uhn.fhir.context.FhirVersionEnum import ca.uhn.fhir.util.TerserUtil -import com.google.android.fhir.FhirEngine import com.google.android.fhir.knowledge.KnowledgeManager -import com.google.android.fhir.search.Search import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.qualifiers.ApplicationContext -import java.io.File import javax.inject.Inject import javax.inject.Singleton import kotlin.reflect.full.declaredMemberProperties import kotlin.reflect.jvm.isAccessible -import org.hl7.fhir.instance.model.api.IBaseParameters +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import org.hl7.fhir.instance.model.api.IBaseResource import org.hl7.fhir.r4.model.Bundle import org.hl7.fhir.r4.model.CarePlan -import org.hl7.fhir.r4.model.IdType -import org.hl7.fhir.r4.model.Library -import org.hl7.fhir.r4.model.MetadataResource +import org.hl7.fhir.r4.model.Extension +import org.hl7.fhir.r4.model.ParameterDefinition import org.hl7.fhir.r4.model.Parameters import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.PlanDefinition import org.hl7.fhir.r4.model.Reference import org.hl7.fhir.r4.model.Resource -import org.hl7.fhir.r4.model.ResourceType import org.hl7.fhir.r4.model.Task import org.hl7.fhir.r4.utils.FHIRPathEngine -import org.opencds.cqf.cql.evaluator.activitydefinition.r4.ActivityDefinitionProcessor -import org.opencds.cqf.cql.evaluator.expression.ExpressionEvaluator -import org.opencds.cqf.cql.evaluator.fhir.dal.FhirDal -import org.opencds.cqf.cql.evaluator.library.LibraryProcessor -import org.opencds.cqf.cql.evaluator.plandefinition.OperationParametersParser -import org.opencds.cqf.cql.evaluator.plandefinition.r4.PlanDefinitionProcessor +import org.opencds.cqf.fhir.cql.LibraryEngine +import org.opencds.cqf.fhir.cr.plandefinition.r4.PlanDefinitionProcessor +import org.opencds.cqf.fhir.utility.r4.Parameters.part import org.smartregister.fhircore.engine.data.local.DefaultRepository import timber.log.Timber @@ -65,74 +57,14 @@ constructor( @ApplicationContext val context: Context, ) { - private var cqlLibraryIdList = ArrayList() - private val fhirContext = FhirContext.forCached(FhirVersionEnum.R4) - private val jsonParser = fhirContext.newJsonParser() - - private fun writeToFile(resource: Resource): File { - val fileName = - if (resource is MetadataResource && resource.name != null) { - resource.name - } else { - resource.idElement.idPart - } - return File(context.filesDir, fileName).apply { - writeText(jsonParser.encodeResourceToString(resource)) - } - } - - /** - * Extracts resources present in PlanDefinition.contained field - * - * We cannot use $data-requirements on the [PlanDefinition] yet. So, we assume that all knowledge - * resources required to $apply a [PlanDefinition] are present within `PlanDefinition.contained` - * - * @param planDefinition PlanDefinition resource for which dependent resources are extracted - */ - suspend fun getPlanDefinitionDependentResources( - planDefinition: PlanDefinition, - ): Collection { - var bundleCollection: Collection = mutableListOf() - - for (resource in planDefinition.contained) { - resource.meta.lastUpdated = planDefinition.meta.lastUpdated - if (resource is Library) { - cqlLibraryIdList.add(IdType(resource.id).idPart) - } - knowledgeManager.install(writeToFile(resource)) - - bundleCollection += resource - } - return bundleCollection - } - - /** - * Knowledge resources are loaded from [FhirEngine] and installed so that they may be used when - * running $apply on a [PlanDefinition] - */ - private suspend fun loadPlanDefinitionResourcesFromDb() { - // Load Library resources - val availableCqlLibraries = defaultRepository.search(Search(ResourceType.Library)) - val availablePlanDefinitions = - defaultRepository.search(Search(ResourceType.PlanDefinition)) - for (cqlLibrary in availableCqlLibraries) { - fhirOperator.loadLib(cqlLibrary) - knowledgeManager.install(writeToFile(cqlLibrary)) - cqlLibraryIdList.add(IdType(cqlLibrary.id).idPart) - } - for (planDefinition in availablePlanDefinitions) { - getPlanDefinitionDependentResources(planDefinition) - } - } - /** * Executes $apply on a [PlanDefinition] for a [Patient] and creates the request resources as per * the proposed [CarePlan] * - * @param planDefinitionId PlanDefinition resource ID for which $apply is run + * @param planDefinition PlanDefinition for which $apply is run * @param patient Patient resource for which the [PlanDefinition] $apply is run - * @param requestResourceConfigs List of configurations that need to be applied to the request - * resources as a result of the proposed [CarePlan] + * @param data Bundle resource containing the input resource/data + * @param output [CarePlan] resource object with the generated care plan */ suspend fun applyPlanDefinitionOnPatient( planDefinition: PlanDefinition, @@ -140,65 +72,80 @@ constructor( data: Bundle = Bundle(), output: CarePlan, ) { - val patientId = IdType(patient.id).idPart - val planDefinitionId = IdType(planDefinition.id).idPart + withContext(Dispatchers.IO) { + val carePlanProposal = + fhirOperator.generateCarePlan( + planDefinition, + patient, + data, + ) as CarePlan - if (cqlLibraryIdList.isEmpty()) { - loadPlanDefinitionResourcesFromDb() + acceptCarePlan(carePlanProposal, output) + + resolveDynamicValues( + planDefinition = planDefinition, + input = data, + subject = patient, + output, + ) } + } - val r4PlanDefinitionProcessor = createPlanDefinitionProcessor() - val carePlanProposal = - r4PlanDefinitionProcessor.apply( - IdType("PlanDefinition", planDefinitionId), - patientId, - null, - null, - null, - null, - null, - null, - null, - null, - null, - Parameters(), - null, - null, - null, - null, - null, - null, - ) as CarePlan + private fun FhirOperator.generateCarePlan( + planDefinition: PlanDefinition, + subject: Patient, + data: Bundle, + ): IBaseResource { + // TODO: Open this method on the Android SDK + val planDefProcessor = + javaClass.getDeclaredField("planDefinitionProcessor").let { + it.isAccessible = true + return@let it.get(this) as PlanDefinitionProcessor + } - // Accept the proposed (transient) CarePlan by default and add tasks to the CarePlan of record - acceptCarePlan(carePlanProposal, output) + val libraryProcessor = + javaClass.getDeclaredField("libraryProcessor").let { + it.isAccessible = true + return@let it.get(this) as LibraryEngine + } - resolveDynamicValues( - planDefinition = planDefinition, - input = data, - subject = patient, - output, + val params = Parameters() + params.addParameter( + part("%resource", data).apply { + extension.add( + Extension( + "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-parameterDefinition", + ParameterDefinition().apply { + type = data.fhirType() + min = 0 + max = data.entry.size.toString() + }, + ), + ) + }, ) - } + params.addParameter(part("%rootResource", planDefinition)) + params.addParameter(part("%subject", subject)) - private fun createPlanDefinitionProcessor(): R4PlanDefinitionProcessor { - val fhirDal = getPrivateProperty("fhirEngineDal", fhirOperator) as FhirDal - val libraryProcessor = getPrivateProperty("libraryProcessor", fhirOperator) as LibraryProcessor - val expressionEvaluator = - getPrivateProperty("expressionEvaluator", fhirOperator) as ExpressionEvaluator - val activityDefinitionProcessor = - getPrivateProperty("activityDefinitionProcessor", fhirOperator) as ActivityDefinitionProcessor - val operationParametersParser = - getPrivateProperty("operationParametersParser", fhirOperator) as OperationParametersParser - - return R4PlanDefinitionProcessor( - fhirContext = fhirContext, - fhirDal = fhirDal, - libraryProcessor = libraryProcessor, - expressionEvaluator = expressionEvaluator, - activityDefinitionProcessor = activityDefinitionProcessor, - operationParametersParser = operationParametersParser, - ) + return planDefProcessor.apply( + null, + null, + planDefinition, + "Patient/${subject.id}", + null, + null, + null, + null, + null, + null, + null, + null, + params, + null, + data, + null, + libraryProcessor, + ) as IBaseResource } private fun resolveDynamicValues( @@ -207,24 +154,23 @@ constructor( subject: Patient, output: CarePlan, ) { - for (action in planDefinition.action) { - if (action.hasDynamicValue()) { - action.dynamicValue.forEach { dynamicValue -> - dynamicValue.expression.expression - .let { fhirPathEngine.evaluate(null, input, planDefinition, subject, it) } - ?.takeIf { it.isNotEmpty() } - ?.let { evaluatedValue -> - Timber.d("${dynamicValue.path}, evaluatedValue: $evaluatedValue") - TerserUtil.setFieldByFhirPath( - FhirContext.forR4Cached(), - dynamicValue.path, - output, - evaluatedValue.first(), - ) - } - } + planDefinition.action + .filter { it.hasDynamicValue() } + .flatMap { it.dynamicValue } + .forEach { dynamicValue -> + dynamicValue.expression.expression + .let { fhirPathEngine.evaluate(null, input, planDefinition, subject, it) } + ?.takeIf { it.isNotEmpty() } + ?.let { evaluatedValue -> + Timber.d("${dynamicValue.path}, evaluatedValue: $evaluatedValue") + TerserUtil.setFieldByFhirPath( + FhirContext.forR4Cached(), + dynamicValue.path, + output, + evaluatedValue.first(), + ) + } } - } } /** Link the request resources created for the [Patient] back to the [CarePlan] of record */ @@ -237,14 +183,16 @@ constructor( "Task" -> carePlan.addActivity().setReference(Reference(resource)).detail.status = mapRequestResourceStatusToCarePlanStatus(resource as Task) + "QuestionnaireResponse" -> carePlan.addActivity().setReference(Reference(resource)) + "OperationOutcome" -> carePlan.addActivity().setReference(Reference(resource)) "ServiceRequest" -> TODO("Not supported yet") - "MedicationRequest" -> TODO("Not supported yet") + "MedicationRequest" -> carePlan.addActivity().reference = Reference(resource) "SupplyRequest" -> TODO("Not supported yet") "Procedure" -> TODO("Not supported yet") "DiagnosticReport" -> TODO("Not supported yet") "Communication" -> TODO("Not supported yet") "CommunicationRequest" -> TODO("Not supported yet") - else -> TODO("Not a valid request resource") + else -> TODO("Not a valid request resource ${resource.fhirType()}") } } } @@ -261,19 +209,22 @@ constructor( val createdRequestResources = ArrayList() for (resource in resourceList) { when (resource.fhirType()) { - "Task" -> { + "Task", + "QuestionnaireResponse", + "OperationOutcome", + "MedicationRequest", + "CarePlan", -> { defaultRepository.create(true, resource) createdRequestResources.add(resource) } "ServiceRequest" -> TODO("Not supported yet") - "MedicationRequest" -> TODO("Not supported yet") "SupplyRequest" -> TODO("Not supported yet") "Procedure" -> TODO("Not supported yet") "DiagnosticReport" -> TODO("Not supported yet") "Communication" -> TODO("Not supported yet") "CommunicationRequest" -> TODO("Not supported yet") "RequestGroup" -> {} - else -> TODO("Not a valid request resource") + else -> TODO("Not a valid request resource ${resource.fhirType()}") } } return createdRequestResources @@ -298,7 +249,7 @@ constructor( } /** Map [Task] status to [CarePlan] status */ - fun mapRequestResourceStatusToCarePlanStatus( + private fun mapRequestResourceStatusToCarePlanStatus( resource: Task, ): CarePlan.CarePlanActivityStatus { // Refer: http://hl7.org/fhir/R4/valueset-care-plan-activity-status.html for some mapping @@ -328,36 +279,4 @@ constructor( .apply { isAccessible = true } .get(obj) } - - inner class R4PlanDefinitionProcessor - constructor( - fhirContext: FhirContext, - fhirDal: FhirDal, - libraryProcessor: LibraryProcessor, - expressionEvaluator: ExpressionEvaluator, - activityDefinitionProcessor: ActivityDefinitionProcessor, - operationParametersParser: OperationParametersParser, - ) : - PlanDefinitionProcessor( - fhirContext, - fhirDal, - libraryProcessor, - expressionEvaluator, - activityDefinitionProcessor, - operationParametersParser, - ) { - override fun resolveDynamicValue( - language: String?, - expression: String?, - path: String?, - altLanguage: String?, - altExpression: String?, - altPath: String?, - libraryUrl: String?, - resource: IBaseResource?, - params: IBaseParameters?, - ) { - // no need to add dynamic value in RequestGroup resource - } - } } diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TimeZoneTypeAdapter.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TimeZoneTypeAdapter.kt new file mode 100644 index 0000000000..f64906dddc --- /dev/null +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TimeZoneTypeAdapter.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2021-2024 Ona Systems, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.smartregister.fhircore.engine.util + +import com.google.gson.TypeAdapter +import com.google.gson.stream.JsonReader +import com.google.gson.stream.JsonWriter +import java.util.TimeZone + +class TimeZoneTypeAdapter : TypeAdapter() { + override fun write(out: JsonWriter, value: TimeZone) { + out.value(value.toString()) + } + + override fun read(input: JsonReader): TimeZone = TimeZone.getTimeZone(input.nextString()) +} diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtension.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtension.kt index 904419f6de..5dead070c2 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtension.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtension.kt @@ -51,11 +51,6 @@ suspend fun FhirEngine.loadLibraryAtPath(fhirOperator: FhirOperator, path: Strin val library = runCatching { get(IdType(path).idPart) }.getOrNull() ?: search { filter(Library.URL, { value = path }) }.map { it.resource }.firstOrNull() - - library?.let { - fhirOperator.loadLib(it) - it.relatedArtifact.forEach { loadLibraryAtPath(fhirOperator, it) } - } } suspend fun FhirEngine.loadLibraryAtPath( diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensions.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensions.kt index 271e7d0048..dd733712c4 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensions.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensions.kt @@ -20,17 +20,36 @@ import ca.uhn.fhir.rest.param.ParamPrefixEnum import com.google.android.fhir.FhirEngine import com.google.android.fhir.search.Operation import com.google.android.fhir.search.Search -import com.google.android.fhir.search.search import org.apache.commons.lang3.StringUtils import org.hl7.fhir.r4.model.DateTimeType import org.hl7.fhir.r4.model.MeasureReport import org.hl7.fhir.r4.model.ResourceType -import org.opencds.cqf.cql.evaluator.measure.common.MeasurePopulationType import org.smartregister.fhircore.engine.configuration.report.measure.ReportConfiguration import org.smartregister.fhircore.engine.configuration.report.measure.ReportConfiguration.Companion.DEFAULT_ROUNDING_PRECISION import org.smartregister.fhircore.engine.configuration.report.measure.ReportConfiguration.Companion.DEFAULT_ROUNDING_STRATEGY +import org.smartregister.p2p.utils.capitalize // TODO: Enhancement - use FhirPathEngine evaluator for data extraction + +enum class MeasurePopulationType( + private val code: String, +) { + INITIALPOPULATION("initial-population"), + NUMERATOR("numerator"), + DENOMINATOR("denominator"), + ; + + val system: String + get() = "http://hl7.org/fhir/measure-population" + + val display: String + get() = code.capitalize() + + fun toCode(): String { + return this.code + } +} + fun MeasureReport.StratifierGroupComponent.findPopulation( id: MeasurePopulationType, ): MeasureReport.StratifierGroupPopulationComponent? { diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/ResourceExtension.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/ResourceExtension.kt index c8123ba994..f14a05a806 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/ResourceExtension.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/extension/ResourceExtension.kt @@ -24,6 +24,7 @@ import com.google.android.fhir.get import com.google.android.fhir.logicalId import com.google.android.fhir.search.search import java.time.Duration +import java.time.temporal.ChronoUnit import java.util.Date import java.util.LinkedList import java.util.Locale @@ -443,8 +444,11 @@ suspend fun Task.updateDependentTaskDueDate( dependantTask .apply { executionPeriod.start = - Date.from(immunizationDate?.toInstant()) - .plusDays(dependentTaskInputDuration) + Date.from( + immunizationDate + ?.toInstant() + ?.plus(dependentTaskInputDuration.toLong(), ChronoUnit.DAYS), + ) } .run { defaultRepository.addOrUpdate( diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/helper/LocalizationHelper.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/helper/LocalizationHelper.kt index 1f14bdd285..63e3bfb04b 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/helper/LocalizationHelper.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/helper/LocalizationHelper.kt @@ -36,8 +36,7 @@ class LocalizationHelper(val configurationRegistry: ConfigurationRegistry) { val bundle = configurationRegistry.retrieveResourceBundleConfiguration( getLocaleSpecificFileName(bundleName, locale), - ) - ?: ResourceBundle.getBundle(bundleName, locale) + ) ?: ResourceBundle.getBundle(bundleName, locale) val lookup = mutableMapOf() bundle.keys.toList().forEach { lookup[it] = bundle.getObject(it) } template.interpolate(lookup, "{{", "}}") diff --git a/android/engine/src/main/res/values/strings.xml b/android/engine/src/main/res/values/strings.xml index ab09267a0b..3b79f9c2cb 100644 --- a/android/engine/src/main/res/values/strings.xml +++ b/android/engine/src/main/res/values/strings.xml @@ -174,6 +174,8 @@ OS Version Date Device + OK + ADD Started data migration from version %1$d Application data migrated to version %1$d diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/app/fakes/Faker.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/app/fakes/Faker.kt index 5faf4b4736..8e6b3d91b4 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/app/fakes/Faker.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/app/fakes/Faker.kt @@ -16,12 +16,15 @@ package org.smartregister.fhircore.engine.app.fakes +import androidx.test.core.app.ApplicationProvider import androidx.test.platform.app.InstrumentationRegistry +import dagger.hilt.android.testing.HiltTestApplication import io.mockk.coEvery import io.mockk.just import io.mockk.mockk import io.mockk.runs import io.mockk.spyk +import java.net.URL import java.util.Calendar import java.util.Date import kotlinx.coroutines.runBlocking @@ -35,6 +38,7 @@ import org.hl7.fhir.r4.model.Identifier import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.Reference import org.hl7.fhir.r4.model.StringType +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceDataSource import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceService @@ -54,7 +58,7 @@ object Faker { private val testDispatcher = UnconfinedTestDispatcher() - val testDispatcherProvider = + private val testDispatcherProvider = object : DispatcherProvider { override fun default() = testDispatcher @@ -96,6 +100,13 @@ object Faker { dispatcherProvider = dispatcherProvider, configService = mockk(), json = json, + context = ApplicationProvider.getApplicationContext(), + openSrpApplication = + object : OpenSrpApplication() { + override fun getFhirServerHost(): URL? { + return URL("http://my_test_fhirbase_url/fhir/") + } + }, ), ) diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistryTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistryTest.kt index cab00f239d..30b2fb6b64 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistryTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/configuration/ConfigurationRegistryTest.kt @@ -29,12 +29,12 @@ import com.google.common.reflect.TypeToken import com.google.gson.GsonBuilder import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest +import dagger.hilt.android.testing.HiltTestApplication import io.mockk.coEvery import io.mockk.coVerify -import io.mockk.just import io.mockk.mockk -import io.mockk.runs import io.mockk.spyk +import java.net.URL import javax.inject.Inject import kotlinx.coroutines.test.runTest import okhttp3.RequestBody @@ -54,6 +54,7 @@ import org.junit.Assert import org.junit.Before import org.junit.Rule import org.junit.Test +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.app.AppConfigService import org.smartregister.fhircore.engine.app.fakes.Faker import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry.Companion.MANIFEST_PROCESSOR_BATCH_SIZE @@ -102,6 +103,13 @@ class ConfigurationRegistryTest : RobolectricTest() { dispatcherProvider, AppConfigService(context), Faker.json, + context = ApplicationProvider.getApplicationContext(), + openSrpApplication = + object : OpenSrpApplication() { + override fun getFhirServerHost(): URL? { + return URL("http://my_test_fhirbase_url/fhir/") + } + }, ) configRegistry.setNonProxy(false) Assert.assertNotNull(configRegistry) @@ -275,7 +283,7 @@ class ConfigurationRegistryTest : RobolectricTest() { val requestPathArgumentSlot = mutableListOf() coVerify(exactly = 1) { fhirEngine.get(any(), any()) } - coVerify(exactly = 1) { fhirEngine.createRemote(capture(requestPathArgumentSlot)) } + coVerify(exactly = 1) { fhirEngine.create(capture(requestPathArgumentSlot)) } Assert.assertEquals("composition-id-1", requestPathArgumentSlot.first().id) Assert.assertEquals(ResourceType.Composition, requestPathArgumentSlot.first().resourceType) } @@ -389,7 +397,7 @@ class ConfigurationRegistryTest : RobolectricTest() { val patient = Faker.buildPatient() coEvery { fhirEngine.get(patient.resourceType, patient.logicalId) } throws ResourceNotFoundException("", "") - coEvery { fhirEngine.createRemote(any()) } just runs + coEvery { fhirEngine.create(any(), isLocalOnly = true) } returns listOf(patient.id) runTest { val previousLastUpdate = patient.meta.lastUpdated @@ -398,18 +406,18 @@ class ConfigurationRegistryTest : RobolectricTest() { } coVerify(inverse = true) { fhirEngine.update(any()) } - coVerify { fhirEngine.createRemote(patient) } + coVerify { fhirEngine.create(patient, isLocalOnly = true) } } @Test @kotlinx.coroutines.ExperimentalCoroutinesApi fun testCreate() { val patient = Faker.buildPatient() - coEvery { fhirEngine.createRemote(patient) } just runs + coEvery { fhirEngine.create(patient, isLocalOnly = true) } returns listOf(patient.id) runTest { configRegistry.createRemote(patient) - coVerify { fhirEngine.createRemote(patient) } + coVerify { fhirEngine.create(patient, isLocalOnly = true) } } } @@ -703,13 +711,15 @@ class ConfigurationRegistryTest : RobolectricTest() { coEvery { fhirEngine.get(any(), any()) } throws ResourceNotFoundException(ResourceType.Group.name, "some-id") - coEvery { fhirEngine.createRemote(any()) } just runs + coEvery { fhirEngine.create(any(), isLocalOnly = true) } returns listOf() configRegistry.fetchNonWorkflowConfigResources() val requestPathArgumentSlot = mutableListOf() - coVerify(exactly = 3) { fhirEngine.createRemote(capture(requestPathArgumentSlot)) } + coVerify(exactly = 3) { + fhirEngine.create(capture(requestPathArgumentSlot), isLocalOnly = true) + } Assert.assertEquals(3, requestPathArgumentSlot.size) @@ -771,13 +781,15 @@ class ConfigurationRegistryTest : RobolectricTest() { coEvery { fhirEngine.get(any(), any()) } throws ResourceNotFoundException(ResourceType.Group.name, "some-id-not-found") - coEvery { fhirEngine.createRemote(any()) } just runs + coEvery { fhirEngine.create(any(), isLocalOnly = true) } returns listOf() configRegistry.fetchNonWorkflowConfigResources() val requestPathArgumentSlot = mutableListOf() - coVerify(exactly = 4) { fhirEngine.createRemote(capture(requestPathArgumentSlot)) } + coVerify(exactly = 4) { + fhirEngine.create(capture(requestPathArgumentSlot), isLocalOnly = true) + } Assert.assertEquals(4, requestPathArgumentSlot.size) diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt index 65420088f7..f3ab1e2b54 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt @@ -1206,10 +1206,10 @@ class DefaultRepositoryTest : RobolectricTest() { @Test fun `createRemote() should correctly invoke FhirEngine#createRemote`() { val resource = spyk(Patient()) - coEvery { fhirEngine.createRemote(resource) } just runs + coEvery { fhirEngine.create(resource, isLocalOnly = true) } returns listOf(resource.id) runBlocking { defaultRepository.createRemote(false, resource) } - coVerify { fhirEngine.createRemote(resource) } + coVerify { fhirEngine.create(resource, isLocalOnly = true) } } } diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/task/FhirCarePlanGeneratorTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/task/FhirCarePlanGeneratorTest.kt index 2097466c98..fe081f818d 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/task/FhirCarePlanGeneratorTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/task/FhirCarePlanGeneratorTest.kt @@ -16,6 +16,7 @@ package org.smartregister.fhircore.engine.task +import android.content.Context import androidx.test.core.app.ApplicationProvider import ca.uhn.fhir.context.FhirContext import ca.uhn.fhir.context.FhirVersionEnum @@ -24,9 +25,11 @@ import ca.uhn.fhir.rest.gclient.ReferenceClientParam import com.google.android.fhir.FhirEngine import com.google.android.fhir.SearchResult import com.google.android.fhir.get +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.logicalId import com.google.android.fhir.search.Search import com.google.android.fhir.search.search +import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest import io.mockk.Runs @@ -38,6 +41,8 @@ import io.mockk.mockk import io.mockk.runs import io.mockk.slot import io.mockk.spyk +import java.io.File +import java.io.InputStream import java.time.Instant import java.time.LocalDate import java.time.ZoneId @@ -45,7 +50,9 @@ import java.util.Calendar import java.util.Date import java.util.UUID import javax.inject.Inject +import kotlin.reflect.KSuspendFunction1 import kotlin.time.Duration.Companion.seconds +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking @@ -54,6 +61,11 @@ import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.jsonPrimitive +import org.cqframework.cql.cql2elm.CqlTranslator +import org.cqframework.cql.cql2elm.LibraryManager +import org.cqframework.cql.cql2elm.ModelManager +import org.cqframework.cql.cql2elm.quick.FhirLibrarySourceProvider +import org.hl7.fhir.r4.model.Attachment import org.hl7.fhir.r4.model.BaseDateTimeType import org.hl7.fhir.r4.model.Bundle import org.hl7.fhir.r4.model.CanonicalType @@ -62,10 +74,12 @@ import org.hl7.fhir.r4.model.CodeableConcept import org.hl7.fhir.r4.model.DateTimeType import org.hl7.fhir.r4.model.DateType import org.hl7.fhir.r4.model.Encounter +import org.hl7.fhir.r4.model.Enumerations import org.hl7.fhir.r4.model.Expression import org.hl7.fhir.r4.model.Group import org.hl7.fhir.r4.model.Immunization import org.hl7.fhir.r4.model.Library +import org.hl7.fhir.r4.model.MetadataResource import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.Period import org.hl7.fhir.r4.model.PlanDefinition @@ -86,9 +100,11 @@ import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Before +import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.mockito.ArgumentMatchers +import org.mockito.ArgumentMatchers.anyBoolean import org.smartregister.fhircore.engine.app.fakes.Faker import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry import org.smartregister.fhircore.engine.configuration.QuestionnaireConfig @@ -108,6 +124,7 @@ import org.smartregister.fhircore.engine.util.extension.extractId import org.smartregister.fhircore.engine.util.extension.extractLogicalIdUuid import org.smartregister.fhircore.engine.util.extension.find import org.smartregister.fhircore.engine.util.extension.formatDate +import org.smartregister.fhircore.engine.util.extension.getCustomJsonParser import org.smartregister.fhircore.engine.util.extension.makeItReadable import org.smartregister.fhircore.engine.util.extension.plusDays import org.smartregister.fhircore.engine.util.extension.plusMonths @@ -127,8 +144,6 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { @Inject lateinit var transformSupportServices: TransformSupportServices - @Inject lateinit var workflowCarePlanGenerator: WorkflowCarePlanGenerator - @Inject lateinit var fhirPathEngine: FHIRPathEngine @Inject lateinit var fhirEngine: FhirEngine @@ -136,6 +151,11 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { @Inject lateinit var testDispatcher: DispatcherProvider @Inject lateinit var configurationRegistry: ConfigurationRegistry + + private val context: Context = ApplicationProvider.getApplicationContext() + private val knowledgeManager = KnowledgeManager.create(context) + private val fhirContext: FhirContext = FhirContext.forCached(FhirVersionEnum.R4) + private lateinit var fhirResourceUtil: FhirResourceUtil private lateinit var fhirCarePlanGenerator: FhirCarePlanGenerator private lateinit var structureMapUtilities: StructureMapUtilities @@ -143,8 +163,10 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { private lateinit var encounter: Encounter private lateinit var opv0: Task private lateinit var opv1: Task - private val defaultRepository: DefaultRepository = mockk() - private val iParser: IParser = FhirContext.forCached(FhirVersionEnum.R4).newJsonParser() + private val defaultRepository: DefaultRepository = mockk(relaxed = true) + private val iParser: IParser = fhirContext.newJsonParser() + private val jsonParser = fhirContext.getCustomJsonParser() + private val xmlParser = fhirContext.newXmlParser() @Before fun setup() { @@ -152,6 +174,7 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { structureMapUtilities = StructureMapUtilities(transformSupportServices.simpleWorkerContext) every { defaultRepository.dispatcherProvider } returns testDispatcher every { defaultRepository.fhirEngine } returns fhirEngine + coEvery { defaultRepository.create(anyBoolean(), any()) } returns listOf() fhirResourceUtil = spyk( @@ -162,6 +185,20 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { ), ) + val workflowCarePlanGenerator = + WorkflowCarePlanGenerator( + knowledgeManager = knowledgeManager, + defaultRepository = defaultRepository, + fhirPathEngine = fhirPathEngine, + context = context, + fhirOperator = + FhirOperator.Builder(context) + .fhirEngine(fhirEngine) + .fhirContext(fhirContext) + .knowledgeManager(knowledgeManager) + .build(), + ) + fhirCarePlanGenerator = FhirCarePlanGenerator( fhirEngine = fhirEngine, @@ -476,10 +513,16 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { fun testGenerateCarePlanForPatientNoBundle() = runTest { val planDefinition = PlanDefinition().apply { id = "plan-1" } val patient = Patient() - val carePlan = fhirCarePlanGenerator.generateOrUpdateCarePlan(planDefinition.id, patient) + val carePlan = + fhirCarePlanGenerator.generateOrUpdateCarePlan( + planDefinition.id, + patient, + generateCarePlanWithWorkflowApi = true, + ) assertNull(carePlan) } + @Ignore("Throws stack overflow error") @Test @ExperimentalCoroutinesApi fun testGenerateCarePlanForPatient() = runTest { @@ -622,6 +665,7 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { } } + @Ignore("Throws stack overflow error") @Test @ExperimentalCoroutinesApi fun testGenerateCarePlanForHouseHold() = runTest { @@ -770,6 +814,18 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { val questionnaireResponses = planDefinitionResources.questionnaireResponses val resourcesSlot = planDefinitionResources.resourcesSlot + installToIgManager(planDefinition) + + coEvery { fhirEngine.search(Search(ResourceType.Library)) } returns listOf() + coEvery { fhirEngine.search(Search(ResourceType.PlanDefinition)) } returns + listOf( + SearchResult( + resource = planDefinition, + included = null, + revIncluded = null, + ), + ) + fhirCarePlanGenerator .generateOrUpdateCarePlan( planDefinition, @@ -778,14 +834,17 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { .addEntry( Bundle.BundleEntryComponent().apply { resource = questionnaireResponses.first() }, ), + false, ) .also { carePlan -> assertNull(carePlan) resourcesSlot.forEach { println(it.encodeResourceToString()) } + resourcesSlot.filterIsInstance().let { assertTrue(it.isNotEmpty()) } + resourcesSlot - .map { it as Task } + .filterIsInstance() .also { assertEquals(1, it.size) } .first() .let { @@ -1222,67 +1281,84 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { } @Test - @ExperimentalCoroutinesApi - fun `Generate CarePlan should generate child immunization schedule`() = runTest { - val planDefinitionResources = - loadPlanDefinitionResources("child-immunization-schedule", listOf("register-temp")) - val planDefinition = planDefinitionResources.planDefinition - val patient = planDefinitionResources.patient - val questionnaireResponses = planDefinitionResources.questionnaireResponses - val resourcesSlot = planDefinitionResources.resourcesSlot - val vaccines = makeVaccinesMapForPatient(patient) + fun `Generate CarePlan should generate child immunization schedule`() = + runBlockingOnWorkerThread { + val planDefinitionResources = + loadPlanDefinitionResources("child-immunization-schedule", listOf("register-temp")) + val planDefinition = planDefinitionResources.planDefinition + val patient = planDefinitionResources.patient + val questionnaireResponses = planDefinitionResources.questionnaireResponses + val resourcesSlot = planDefinitionResources.resourcesSlot + val vaccines = makeVaccinesMapForPatient(patient) - fhirCarePlanGenerator - .generateOrUpdateCarePlan( - planDefinition, - patient, - Bundle() - .addEntry(Bundle.BundleEntryComponent().apply { resource = patient }) - .addEntry( - Bundle.BundleEntryComponent().apply { resource = questionnaireResponses.first() }, - ), - )!! - .also { println(it.encodeResourceToString()) } - .also { carePlan -> - assertCarePlan( - carePlan, - planDefinition, - patient, - patient.birthDate, - patient.birthDate.plusDays(4017), - 20, - ) - resourcesSlot - .filter { res -> res.resourceType == ResourceType.Task } - .map { it as Task } - .also { tasks -> - assertTrue(tasks.all { it.status == TaskStatus.REQUESTED }) - assertTrue( - tasks.all { - it.reasonReference.reference == "Questionnaire/9b1aa23b-577c-4fb2-84e3-591e6facaf82" - }, - ) - assertTrue( - tasks.all { - it.code.codingFirstRep.display == - "Administration of vaccine to produce active immunity (procedure)" && - it.code.codingFirstRep.code == "33879002" - }, - ) - assertTrue(tasks.all { it.description.contains(it.reasonCode.text, true) }) - assertTrue( - tasks.all { it.`for`.reference == questionnaireResponses.first().subject.reference }, - ) - assertTrue( - tasks.all { it.basedOnFirstRep.reference == carePlan.asReference().reference }, - ) - vaccines.forEach { vaccine -> - val task = tasks.find { it.description.startsWith(vaccine.key) }!! - assertEquals(task.executionPeriod.start.asYyyyMmDd(), vaccine.value.asYyyyMmDd()) + installToIgManager(planDefinition) + installToIgManager(planDefinitionResources.structureMap) + importToFhirEngine(patient) + questionnaireResponses.forEach { importToFhirEngine(it) } + + fhirCarePlanGenerator + .generateOrUpdateCarePlan( + planDefinition = planDefinition, + subject = patient, + data = + Bundle() + .addEntry(Bundle.BundleEntryComponent().apply { resource = patient }) + .addEntry( + Bundle.BundleEntryComponent().apply { resource = questionnaireResponses.first() }, + ), + )!! + .also { println(it.encodeResourceToString()) } + .also { carePlan -> + assertCarePlan( + carePlan, + planDefinition, + patient, + patient.birthDate, + patient.birthDate.plusDays(4017), + 20, + ) + resourcesSlot + .filter { res -> res.resourceType == ResourceType.Task } + .map { it as Task } + .also { tasks -> + assertTrue(tasks.all { it.status == TaskStatus.REQUESTED }) + assertTrue( + tasks.all { + it.reasonReference.reference == + "Questionnaire/9b1aa23b-577c-4fb2-84e3-591e6facaf82" + }, + ) + assertTrue( + tasks.all { + it.code.codingFirstRep.display == + "Administration of vaccine to produce active immunity (procedure)" && + it.code.codingFirstRep.code == "33879002" + }, + ) + assertTrue(tasks.all { it.description.contains(it.reasonCode.text, true) }) + assertTrue( + tasks.all { + it.`for`.reference == questionnaireResponses.first().subject.reference + }, + ) + assertTrue( + tasks.all { it.basedOnFirstRep.reference == carePlan.asReference().reference }, + ) + vaccines.forEach { vaccine -> + val task = tasks.find { it.description.startsWith(vaccine.key) }!! + + println(task.encodeResourceToString()) + + assertEquals( + "${vaccine.key}'s vaccine start period", + task.executionPeriod.start.asYyyyMmDd(), + vaccine.value.asYyyyMmDd(), + ) + } } - } - } - } + } + Unit + } @Test @ExperimentalCoroutinesApi @@ -1348,7 +1424,7 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { @Test @ExperimentalCoroutinesApi fun `test generateOrUpdateCarePlan returns success even when evaluatedValue is null`() = - runBlocking { + runBlockingOnWorkerThread { val planDefinitionResources = loadPlanDefinitionResources("child-immunization-schedule", listOf("register-temp")) val questionnaireResponses = planDefinitionResources.questionnaireResponses @@ -1364,11 +1440,19 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { val dynamicValue = planDefinition.action.first().dynamicValue val expressionValue = dynamicValue.find { it.expression.expression == "%rootResource.title" } + installToIgManager(planDefinitionResources.planDefinition) + // Update the value of the expression expressionValue?.let { it.expression = Expression().apply { expression = "dummyExpression" } } // call the method under test and get the result - val result = fhirCarePlanGenerator.generateOrUpdateCarePlan(planDefinition, patient, data) + val result = + fhirCarePlanGenerator.generateOrUpdateCarePlan( + planDefinition, + patient, + data, + generateCarePlanWithWorkflowApi = true, + ) // assert that the result is not null assertNotNull(result) @@ -1975,6 +2059,7 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { defaultRepository.addOrUpdate(addMandatoryTags = true, capture(dependentTaskSlot)) } just runs opv0.updateDependentTaskDueDate(defaultRepository) + println("AA - ${dependentTaskSlot.captured.encodeResourceToString(jsonParser)}") assertEquals( Date.from(Instant.parse("2021-11-20T00:00:00Z")), dependentTaskSlot.captured.executionPeriod.start, @@ -2086,9 +2171,9 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { .readFile() .decodeResourceFromString() - fhirEngine.create(planDefinition) - fhirEngine.create(library) - fhirEngine.create(patient) + installToIgManager(planDefinition) + installToIgManager(library) + importToFhirEngine(patient) val resourceSlot = slot() coEvery { defaultRepository.addOrUpdate(any(), capture(resourceSlot)) } answers @@ -2108,6 +2193,215 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { assertEquals(planDefinition.description, carePlan.description) } + @Test + fun generateMeaslesCarePlan(): Unit = runBlockingOnWorkerThread { + loadFile( + "/plans/measles-immunizations/Library-FHIRCommon.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-FHIRHelpers.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZCommon.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZCommonIzDataElements.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZConcepts.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZConfig.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZIndicatorCommon.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZINDMeasles.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-IMMZVaccineLibrary.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/ActivityDefinition-IMMZD2DTMeaslesMR.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/PlanDefinition-IMMZD2DTMeasles.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-WHOCommon.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/Library-WHOConcepts.json", + ::installToIgManager, + ) + loadFile( + "/plans/measles-immunizations/ValueSet-HIVstatus-values.json", + ::installToIgManager, + ) + + loadFile( + "/plans/measles-immunizations/IMMZ-Patient-NoVaxeninfant-f.json", + ::importToFhirEngine, + ) + loadFile( + "/plans/measles-immunizations/birthweightnormal-NoVaxeninfant-f.json", + ::importToFhirEngine, + ) + + /*val fhirOperator = + FhirOperator.Builder(context) + .fhirEngine(fhirEngine) + .fhirContext(fhirContext) + .knowledgeManager(knowledgeManager) + .build() + + val carePlan = + fhirOperator.generateCarePlan( + planDefinition = + CanonicalType( + "http://smart.who.int/smart-immunizations-measles/PlanDefinition/IMMZD2DTMeasles", + ), + subject = "Patient/IMMZ-Patient-NoVaxeninfant-f", + )*/ + + val planDefinition = + "/plans/measles-immunizations/PlanDefinition-IMMZD2DTMeasles.json" + .readFile() + .decodeResourceFromString() + + val patient = + "/plans/measles-immunizations/IMMZ-Patient-NoVaxeninfant-f.json" + .readFile() + .decodeResourceFromString() + + val resourcesSlot = mutableListOf() + val booleanSlot = slot() + coEvery { defaultRepository.create(capture(booleanSlot), capture(resourcesSlot)) } returns + emptyList() + + fhirCarePlanGenerator + .generateOrUpdateCarePlan( + planDefinition = planDefinition, + subject = patient, + generateCarePlanWithWorkflowApi = true, + ) + .also { careplan -> + assertTrue(resourcesSlot.any { it.resourceType == ResourceType.MedicationRequest }) + assertTrue(resourcesSlot.size > 0) + println(jsonParser.encodeResourceToString(careplan)) + assertNotNull(careplan) + } + + // println(jsonParser.encodeResourceToString(carePlan)) + + // assertNotNull(carePlan) + } + + private suspend fun loadFile(path: String, importFunction: KSuspendFunction1) { + val resource = + if (path.endsWith(suffix = ".xml")) { + xmlParser.parseResource(open(path)) as Resource + } else if (path.endsWith(".json")) { + jsonParser.parseResource(open(path)) as Resource + } else if (path.endsWith(".cql")) { + toFhirLibrary(open(path)) + } else { + throw IllegalArgumentException("Only xml and json and cql files are supported") + } + loadResource(resource, importFunction) + } + + private suspend fun importToFhirEngine(resource: Resource) { + val ids = fhirEngine.create(resource) + resource.id = ids.first() + } + + private suspend fun installToIgManager(resource: Resource) { + knowledgeManager.install(writeToFile(resource)) + } + + private suspend fun loadResource( + resource: Resource, + importFunction: KSuspendFunction1, + ) { + when (resource.resourceType) { + ResourceType.Bundle -> loadBundle(resource as Bundle, importFunction) + else -> importFunction(resource) + } + } + + private fun open(path: String) = javaClass.getResourceAsStream(path)!! + + private suspend fun loadBundle( + bundle: Bundle, + importFunction: KSuspendFunction1, + ) { + for (entry in bundle.entry) { + val resource = entry.resource + loadResource(resource, importFunction) + } + } + + private fun writeToFile(resource: Resource): File { + val fileName = + if (resource is MetadataResource && resource.name != null) { + resource.name + } else { + resource.idElement.idPart + } + return File(context.filesDir, fileName).apply { + writeText(jsonParser.encodeResourceToString(resource)) + } + } + + private fun toFhirLibrary(cql: InputStream): Library { + val cqlText = cql.bufferedReader().use { bufferReader -> bufferReader.readText() } + + val translator = + CqlTranslator.fromText( + cqlText, + LibraryManager(ModelManager()).apply { + librarySourceLoader.registerProvider(FhirLibrarySourceProvider()) + }, + ) + + val identifier = translator.translatedLibrary.library.identifier + + return Library().apply { + id = "${identifier.id}-${identifier.version}" + name = identifier.id + version = identifier.version + status = Enumerations.PublicationStatus.ACTIVE + url = "http://localhost/Library/${identifier.id}|${identifier.version}" + addContent( + Attachment().apply { + contentType = "text/cql" + data = cqlText.toByteArray() + }, + ) + } + } + + internal fun runBlockingOnWorkerThread(block: suspend (CoroutineScope) -> T) = + runBlocking(Dispatchers.IO) { block(this) } + data class PlanDefinitionResources( val planDefinition: PlanDefinition, val patient: Patient, @@ -2194,6 +2488,7 @@ class FhirCarePlanGeneratorTest : RobolectricTest() { visitTasks: Int, dateToday: Date, ) { + assertNotNull(carePlan.id) assertNotNull(UUID.fromString(carePlan.id)) assertEquals(CarePlan.CarePlanStatus.ACTIVE, carePlan.status) assertEquals(CarePlan.CarePlanIntent.PLAN, carePlan.intent) diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/ui/base/AlertDialogueTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/ui/base/AlertDialogueTest.kt index 24c03cffc1..36296d09c9 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/ui/base/AlertDialogueTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/ui/base/AlertDialogueTest.kt @@ -119,7 +119,7 @@ class AlertDialogueTest : ActivityRobolectricTest() { message = R.string.form_progress_message, title = R.string.questionnaire_alert_invalid_title, confirmButtonListener = {}, - confirmButtonText = R.string.submit_questionnaire, + confirmButtonText = com.google.android.fhir.datacapture.R.string.submit_questionnaire, ) val dialog = shadowOf(ShadowAlertDialog.getLatestAlertDialog()) @@ -129,7 +129,7 @@ class AlertDialogueTest : ActivityRobolectricTest() { dialog, getString(R.string.form_progress_message), getString(R.string.questionnaire_alert_invalid_title), - getString(R.string.submit_questionnaire), + getString(com.google.android.fhir.datacapture.R.string.submit_questionnaire), ) // test an additional cancel or neutral button in confirm alert @@ -187,7 +187,7 @@ class AlertDialogueTest : ActivityRobolectricTest() { context = context, message = "Here is the complete info", title = "Info title", - confirmButtonText = R.string.submit_questionnaire, + confirmButtonText = com.google.android.fhir.datacapture.R.string.submit_questionnaire, ) val dialog = shadowOf(ShadowAlertDialog.getLatestAlertDialog()) @@ -196,7 +196,7 @@ class AlertDialogueTest : ActivityRobolectricTest() { dialog, "Here is the complete info", "Info title", - getString(R.string.submit_questionnaire), + getString(com.google.android.fhir.datacapture.R.string.submit_questionnaire), ) } diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtensionTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtensionTest.kt index e18291f368..b11f94f4cd 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtensionTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/FhirEngineExtensionTest.kt @@ -16,10 +16,12 @@ package org.smartregister.fhircore.engine.util.extension +import androidx.test.core.app.ApplicationProvider import ca.uhn.fhir.context.FhirContext import ca.uhn.fhir.context.FhirVersionEnum import com.google.android.fhir.FhirEngine import com.google.android.fhir.SearchResult +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.logicalId import com.google.android.fhir.workflow.FhirOperator import io.mockk.coEvery @@ -32,6 +34,7 @@ import org.hl7.fhir.r4.model.Library import org.hl7.fhir.r4.model.Measure import org.hl7.fhir.r4.model.RelatedArtifact import org.junit.Assert +import org.junit.Before import org.junit.Test import org.smartregister.fhircore.engine.robolectric.RobolectricTest @@ -39,6 +42,23 @@ class FhirEngineExtensionTest : RobolectricTest() { private val fhirEngine: FhirEngine = mockk() + private lateinit var knowledgeManager: KnowledgeManager + private lateinit var fhirOperator: FhirOperator + + @Before + fun setUp() { + knowledgeManager = + KnowledgeManager.create(ApplicationProvider.getApplicationContext(), inMemory = true) + val fhirContext = FhirContext(FhirVersionEnum.R4) + + fhirOperator = + FhirOperator.Builder(ApplicationProvider.getApplicationContext()) + .fhirEngine(fhirEngine) + .fhirContext(fhirContext) + .knowledgeManager(knowledgeManager) + .build() + } + @Test fun searchCompositionByIdentifier() = runBlocking { coEvery { fhirEngine.search(any()) } returns @@ -53,9 +73,6 @@ class FhirEngineExtensionTest : RobolectricTest() { @Test fun testLoadLibraryAtPathNullLibrary() { - val fhirContext = FhirContext(FhirVersionEnum.R4) - val fhirOperator = FhirOperator(fhirContext, fhirEngine) - coEvery { fhirEngine.search(any()) } returns listOf() runBlocking { fhirEngine.loadLibraryAtPath(fhirOperator, "") } @@ -65,8 +82,6 @@ class FhirEngineExtensionTest : RobolectricTest() { @Test fun testLoadLibraryAtPathReturnedLibrary() { - val fhirContext = FhirContext(FhirVersionEnum.R4) - val fhirOperator = FhirOperator(fhirContext, fhirEngine) val library = Library().apply { id = "123" @@ -93,8 +108,6 @@ class FhirEngineExtensionTest : RobolectricTest() { @Test fun testLoadCqlLibraryBundleNotUrl() { - val fhirContext = FhirContext(FhirVersionEnum.R4) - val fhirOperator = FhirOperator(fhirContext, fhirEngine) val measurePath = "path" val measure = Measure().apply { id = "123" } @@ -107,15 +120,15 @@ class FhirEngineExtensionTest : RobolectricTest() { @Test fun testLoadCqlLibraryBundleUrl() { - val fhirContext = FhirContext(FhirVersionEnum.R4) - val fhirOperator = FhirOperator(fhirContext, fhirEngine) val measurePath = "http://example.com" val measure = Measure().apply { id = "123" library = listOf(CanonicalType().apply { value = "Library/456" }) relatedArtifact = - listOf(RelatedArtifact().apply { type = RelatedArtifact.RelatedArtifactType.DEPENDSON }) + listOf( + RelatedArtifact().apply { type = RelatedArtifact.RelatedArtifactType.DEPENDSON }, + ) } coEvery { fhirEngine.search(any()) } returns diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensionTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensionTest.kt index 879998faaa..e1af5b6a20 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensionTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/MeasureExtensionTest.kt @@ -36,7 +36,6 @@ import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Rule import org.junit.Test -import org.opencds.cqf.cql.evaluator.measure.common.MeasurePopulationType import org.smartregister.fhircore.engine.configuration.report.measure.ReportConfiguration import org.smartregister.fhircore.engine.domain.model.RoundingStrategy import org.smartregister.fhircore.engine.robolectric.RobolectricTest diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/ViewExtensionTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/ViewExtensionTest.kt index 6afd84a339..e9f7995bbd 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/ViewExtensionTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/extension/ViewExtensionTest.kt @@ -84,9 +84,18 @@ class ViewExtensionTest : RobolectricTest() { mockkStatic(ContextCompat::getDrawable) val view = View(ApplicationProvider.getApplicationContext()) - Assert.assertNotNull(view.getDrawable(R.drawable.camera_flash)) - - verify { ContextCompat.getDrawable(view.context, R.drawable.camera_flash) } + Assert.assertNotNull( + view.getDrawable( + com.google.android.fhir.datacapture.contrib.views.barcode.R.drawable.camera_flash, + ), + ) + + verify { + ContextCompat.getDrawable( + view.context, + com.google.android.fhir.datacapture.contrib.views.barcode.R.drawable.camera_flash, + ) + } unmockkStatic(ContextCompat::getDrawable) } } diff --git a/android/engine/src/test/resources/plans/anc-visit-ondemand/structure-map-register.txt b/android/engine/src/test/resources/plans/anc-visit-ondemand/structure-map-register.txt index 4b080bad8a..9e534af0e6 100644 --- a/android/engine/src/test/resources/plans/anc-visit-ondemand/structure-map-register.txt +++ b/android/engine/src/test/resources/plans/anc-visit-ondemand/structure-map-register.txt @@ -26,7 +26,7 @@ group ExtractTask( task.executionPeriod = period, task.priority = 'routine', task.description = 'ANC Follow Up Task', - task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), task.basedOn = reference(careplan), task.authoredOn = evaluate(subject, now()), task.requester = evaluate(subject, $this.generalPractitioner.first()), diff --git a/android/engine/src/test/resources/plans/anc-visit/structure-map-register.txt b/android/engine/src/test/resources/plans/anc-visit/structure-map-register.txt index a1cef891cb..826d68b22e 100644 --- a/android/engine/src/test/resources/plans/anc-visit/structure-map-register.txt +++ b/android/engine/src/test/resources/plans/anc-visit/structure-map-register.txt @@ -26,7 +26,7 @@ group ExtractTask( task.executionPeriod = period, task.priority = 'routine', task.description = 'ANC Follow Up Task', - task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), task.basedOn = reference(careplan), task.authoredOn = evaluate(subject, now()), task.requester = evaluate(subject, $this.generalPractitioner.first()), diff --git a/android/engine/src/test/resources/plans/child-immunization-schedule/plandefinition.json b/android/engine/src/test/resources/plans/child-immunization-schedule/plandefinition.json index 49de44d5b3..ebbeb0b17f 100644 --- a/android/engine/src/test/resources/plans/child-immunization-schedule/plandefinition.json +++ b/android/engine/src/test/resources/plans/child-immunization-schedule/plandefinition.json @@ -887,4 +887,4 @@ "transform": "https://fhir.labs.smartregister.org/fhir/StructureMap/97cf9bfb-90be-4661-8810-1c60be88f593" } ] -} \ No newline at end of file +} diff --git a/android/engine/src/test/resources/plans/child-immunization-schedule/structure-map-register.txt b/android/engine/src/test/resources/plans/child-immunization-schedule/structure-map-register.txt index fb19c4991f..0b200d8943 100644 --- a/android/engine/src/test/resources/plans/child-immunization-schedule/structure-map-register.txt +++ b/android/engine/src/test/resources/plans/child-immunization-schedule/structure-map-register.txt @@ -1,4 +1,4 @@ -map "http://hl7.org/fhir/StructureMap/97cf9bfb-90be-4661-8810-1c60be88f593" = 'eCBIS Child Immunization' +map "https://fhir.labs.smartregister.org/fhir/StructureMap/97cf9bfb-90be-4661-8810-1c60be88f593" = 'eCBIS Child Immunization' uses "http://hl7.org/fhir/StructureDefinition/Parameters" as source uses "http://hl7.org/fhir/StructureDefinition/CarePlan" as target @@ -31,7 +31,7 @@ group extractTask( task.priority = 'routine', // dosage[version] does not work, hence skipping the item from given index via skip.first task.description = evaluate(definition, $this.product.text + ' ' + currentDose.select(sequence.toString())), - task.for = create('Reference') as patientReference, patientReference.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as patientReference, patientReference.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), task.basedOn = reference(careplan), task.authoredOn = evaluate(subject, now()), task.requester = evaluate(subject, $this.generalPractitioner.first()), diff --git a/android/engine/src/test/resources/plans/covid-19-immunization/structure-map-register.txt b/android/engine/src/test/resources/plans/covid-19-immunization/structure-map-register.txt index 91e6f791ab..59525cb751 100644 --- a/android/engine/src/test/resources/plans/covid-19-immunization/structure-map-register.txt +++ b/android/engine/src/test/resources/plans/covid-19-immunization/structure-map-register.txt @@ -29,7 +29,7 @@ group ExtractTask( task.priority = 'routine', // dosage[version] does not work, hence skipping the item from given index via skip.first task.description = evaluate(definition, $this.product.text + ' ' + $this.dosage.skip(version).first().select(sequence.toString().replaceMatches('9999', 'Booster') + ' at ' + timing.repeat.period.toString() + ' ' + timing.repeat.periodUnit)), - task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), task.basedOn = reference(careplan), task.authoredOn = evaluate(subject, now()), task.requester = evaluate(subject, $this.generalPractitioner.first()), diff --git a/android/engine/src/test/resources/plans/measles-immunizations/ActivityDefinition-IMMZD2DTMeaslesMR.json b/android/engine/src/test/resources/plans/measles-immunizations/ActivityDefinition-IMMZD2DTMeaslesMR.json new file mode 100644 index 0000000000..b26e077eb5 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/ActivityDefinition-IMMZD2DTMeaslesMR.json @@ -0,0 +1,73 @@ +{ + "resourceType" : "ActivityDefinition", + "id" : "IMMZD2DTMeaslesMR", + "meta" : { + "profile" : ["http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-immunizationactivity"] + }, + "text" : { + "status" : "extensions", + "div" : "

Generated Narrative: ActivityDefinition

Resource ActivityDefinition "IMMZD2DTMeaslesMR"

Profile: CPG Immunization Activity

CPG Knowledge Capability Extension: computable

url: http://smart.who.int/smart-immunizations-measles/ActivityDefinition/IMMZD2DTMeaslesMR

version: 0.1.0

name: IMMZD2DTMeaslesMedicationRequest

title: IMMZ.D2.DT.Measles.MR

status: draft

experimental: false

date: 2023-10-03

publisher: WHO

contact: WHO: http://who.int

description: Provide measles immunization

library: http://smart.who.int/smart-immunizations-measles/Library/IMMZD2DTMeasles

kind: MedicationRequest

profile: CPG Immunization Request

intent: proposal

doNotPerform: false

product: Measles vaccines (ICD-11#XM28X5)

dynamicValue

path: status

Expressions

-LanguageExpression
*text/cql'draft'

dynamicValue

path: intent

Expressions

-LanguageExpression
*text/cql'proposal'

dynamicValue

path: dispenseRequest.validityPeriod.start

Expressions

-DescriptionLanguageExpression
*Due date of the dosetext/cql-identifierSchedule Due Date for MCV dose

dynamicValue

path: dispenseRequest.validityPeriod.end

Expressions

-DescriptionLanguageExpression
*Expiration date for MCV dosetext/cql-identifierExpiration Date for MCV dose
" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/ActivityDefinition/IMMZD2DTMeaslesMR", + "version" : "0.1.0", + "name" : "IMMZD2DTMeaslesMedicationRequest", + "title" : "IMMZ.D2.DT.Measles.MR", + "status" : "draft", + "experimental" : false, + "date" : "2023-10-03", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "Provide measles immunization", + "library" : ["http://smart.who.int/smart-immunizations-measles/Library/IMMZD2DTMeaslesLogic"], + "kind" : "MedicationRequest", + "profile" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-immunizationrequest", + "intent" : "proposal", + "doNotPerform" : false, + "productCodeableConcept" : { + "coding" : [{ + "system" : "http://hl7.org/fhir/sid/icd-11/mms", + "code" : "XM28X5", + "display" : "Measles vaccines" + }] + }, + "dynamicValue" : [{ + "path" : "status", + "expression" : { + "language" : "text/cql", + "expression" : "'draft'" + } + }, + { + "path" : "intent", + "expression" : { + "language" : "text/cql", + "expression" : "'proposal'" + } + }, + { + "path" : "dispenseRequest.validityPeriod.start", + "expression" : { + "description" : "Due date of the dose", + "language" : "text/cql-identifier", + "expression" : "Schedule Due Date for MCV dose" + } + }, + { + "path" : "dispenseRequest.validityPeriod.end", + "expression" : { + "description" : "Expiration date for MCV dose", + "language" : "text/cql-identifier", + "expression" : "Expiration Date for MCV dose" + } + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/IMMZ-Patient-NoVaxeninfant-f.json b/android/engine/src/test/resources/plans/measles-immunizations/IMMZ-Patient-NoVaxeninfant-f.json new file mode 100644 index 0000000000..a733db5611 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/IMMZ-Patient-NoVaxeninfant-f.json @@ -0,0 +1,17 @@ +{ + "resourceType": "Patient", + "id": "IMMZ-Patient-NoVaxeninfant-f", + "meta": { + "profile": [ + "http://worldhealthorganization.github.io/ddcc/StructureDefinition/Patient-uv-ips" + ] + }, + "name": [ + { + "text": "NoVaxeninfant-f", + "use": "official" + } + ], + "birthDate": "2023-03-02", + "gender": "female" +} diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon-2.json new file mode 100644 index 0000000000..fb119ceae4 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon-2.json @@ -0,0 +1,8458 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "526", + "s" : [ { + "value" : [ "/*\n@author: Bryn Rhodes\n@description: Common terminologies and functions used in FHIR-based CQL artifacts\n*/\n","library FHIRCommon version '4.0.1'" ] + } ] + } + } ], + "identifier" : { + "id" : "FHIRCommon", + "system" : "http://smart.who.int/smart-immunizations-measles", + "version" : "4.0.1" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "7:1-7:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "9:1-9:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "codeSystems" : { + "def" : [ { + "localId" : "3", + "locator" : "11:1-11:38", + "name" : "LOINC", + "id" : "http://loinc.org", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","codesystem ","\"LOINC\"",": ","'http://loinc.org'" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "12:1-12:47", + "name" : "SNOMEDCT", + "id" : "http://snomed.info/sct", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","codesystem ","\"SNOMEDCT\"",": ","'http://snomed.info/sct'" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "13:1-13:74", + "name" : "RoleCode", + "id" : "http://terminology.hl7.org/CodeSystem/v3-RoleCode", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","codesystem ","\"RoleCode\"",": ","'http://terminology.hl7.org/CodeSystem/v3-RoleCode'" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "14:1-14:83", + "name" : "Diagnosis Role", + "id" : "http://terminology.hl7.org/CodeSystem/diagnosis-role", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","codesystem ","\"Diagnosis Role\"",": ","'http://terminology.hl7.org/CodeSystem/diagnosis-role'" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "15:1-15:82", + "name" : "RequestIntent", + "id" : "http://terminology.hl7.org/CodeSystem/request-intent", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","codesystem ","\"RequestIntent\"",": ","'http://terminology.hl7.org/CodeSystem/request-intent'" ] + } ] + } + } ] + }, { + "localId" : "8", + "locator" : "16:1-16:106", + "name" : "MedicationRequestCategory", + "id" : "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","codesystem ","\"MedicationRequestCategory\"",": ","'http://terminology.hl7.org/CodeSystem/medicationrequest-category'" ] + } ] + } + } ] + }, { + "localId" : "9", + "locator" : "17:1-17:101", + "name" : "ConditionClinicalStatusCodes", + "id" : "http://terminology.hl7.org/CodeSystem/condition-clinical", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "","codesystem ","\"ConditionClinicalStatusCodes\"",": ","'http://terminology.hl7.org/CodeSystem/condition-clinical'" ] + } ] + } + } ] + }, { + "localId" : "10", + "locator" : "18:1-18:107", + "name" : "ConditionVerificationStatusCodes", + "id" : "http://terminology.hl7.org/CodeSystem/condition-ver-status", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "value" : [ "","codesystem ","\"ConditionVerificationStatusCodes\"",": ","'http://terminology.hl7.org/CodeSystem/condition-ver-status'" ] + } ] + } + } ] + }, { + "localId" : "11", + "locator" : "19:1-19:119", + "name" : "AllergyIntoleranceClinicalStatusCodes", + "id" : "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "11", + "s" : [ { + "value" : [ "","codesystem ","\"AllergyIntoleranceClinicalStatusCodes\"",": ","'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical'" ] + } ] + } + } ] + }, { + "localId" : "12", + "locator" : "20:1-20:127", + "name" : "AllergyIntoleranceVerificationStatusCodes", + "id" : "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "12", + "s" : [ { + "value" : [ "","codesystem ","\"AllergyIntoleranceVerificationStatusCodes\"",": ","'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification'" ] + } ] + } + } ] + } ] + }, + "valueSets" : { + "def" : [ { + "localId" : "13", + "locator" : "23:1-23:90", + "name" : "Active Condition", + "id" : "http://fhir.org/guides/cqf/common/ValueSet/active-condition", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "13", + "s" : [ { + "value" : [ "// For\n","valueset ","\"Active Condition\"",": ","'http://fhir.org/guides/cqf/common/ValueSet/active-condition'" ] + } ] + } + } ] + }, { + "localId" : "14", + "locator" : "24:1-24:94", + "name" : "Inactive Condition", + "id" : "http://fhir.org/guides/cqf/common/ValueSet/inactive-condition", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "14", + "s" : [ { + "value" : [ "","valueset ","\"Inactive Condition\"",": ","'http://fhir.org/guides/cqf/common/ValueSet/inactive-condition'" ] + } ] + } + } ] + } ] + }, + "codes" : { + "def" : [ { + "localId" : "16", + "locator" : "26:1-26:61", + "name" : "Birthdate", + "id" : "21112-8", + "display" : "Birth date", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "16", + "s" : [ { + "value" : [ "","code ","\"Birthdate\"",": ","'21112-8'"," from " ] + }, { + "r" : "15", + "s" : [ { + "value" : [ "\"LOINC\"" ] + } ] + }, { + "value" : [ " display ","'Birth date'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "15", + "locator" : "26:34-26:40", + "name" : "LOINC" + } + }, { + "localId" : "18", + "locator" : "27:1-27:55", + "name" : "Dead", + "id" : "419099009", + "display" : "Dead", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "18", + "s" : [ { + "value" : [ "","code ","\"Dead\"",": ","'419099009'"," from " ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "\"SNOMEDCT\"" ] + } ] + }, { + "value" : [ " display ","'Dead'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "17", + "locator" : "27:31-27:40", + "name" : "SNOMEDCT" + } + }, { + "localId" : "20", + "locator" : "28:1-28:56", + "name" : "ER", + "id" : "ER", + "display" : "Emergency room", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "20", + "s" : [ { + "value" : [ "","code ","\"ER\"",": ","'ER'"," from " ] + }, { + "r" : "19", + "s" : [ { + "value" : [ "\"RoleCode\"" ] + } ] + }, { + "value" : [ " display ","'Emergency room'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "19", + "locator" : "28:22-28:31", + "name" : "RoleCode" + } + }, { + "localId" : "22", + "locator" : "29:1-29:63", + "name" : "ICU", + "id" : "ICU", + "display" : "Intensive care unit", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "22", + "s" : [ { + "value" : [ "","code ","\"ICU\"",": ","'ICU'"," from " ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "\"RoleCode\"" ] + } ] + }, { + "value" : [ " display ","'Intensive care unit'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "21", + "locator" : "29:24-29:33", + "name" : "RoleCode" + } + }, { + "localId" : "24", + "locator" : "30:1-30:65", + "name" : "Billing", + "id" : "billing", + "display" : "Billing", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "24", + "s" : [ { + "value" : [ "","code ","\"Billing\"",": ","'billing'"," from " ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'Billing'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "23", + "locator" : "30:32-30:47", + "name" : "Diagnosis Role" + } + }, { + "localId" : "26", + "locator" : "33:1-33:59", + "name" : "active", + "id" : "active", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "26", + "s" : [ { + "value" : [ "// Condition Clinical Status Codes - Consider value sets for these\n","code ","\"active\"",": ","'active'"," from " ] + }, { + "r" : "25", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "25", + "locator" : "33:30-33:59", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "28", + "locator" : "34:1-34:67", + "name" : "recurrence", + "id" : "recurrence", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "value" : [ "","code ","\"recurrence\"",": ","'recurrence'"," from " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "27", + "locator" : "34:38-34:67", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "30", + "locator" : "35:1-35:61", + "name" : "relapse", + "id" : "relapse", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "30", + "s" : [ { + "value" : [ "","code ","\"relapse\"",": ","'relapse'"," from " ] + }, { + "r" : "29", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "29", + "locator" : "35:32-35:61", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "32", + "locator" : "36:1-36:63", + "name" : "inactive", + "id" : "inactive", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "32", + "s" : [ { + "value" : [ "","code ","\"inactive\"",": ","'inactive'"," from " ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "31", + "locator" : "36:34-36:63", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "34", + "locator" : "37:1-37:65", + "name" : "remission", + "id" : "remission", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "34", + "s" : [ { + "value" : [ "","code ","\"remission\"",": ","'remission'"," from " ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "33", + "locator" : "37:36-37:65", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "36", + "locator" : "38:1-38:63", + "name" : "resolved", + "id" : "resolved", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "","code ","\"resolved\"",": ","'resolved'"," from " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "\"ConditionClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "35", + "locator" : "38:34-38:63", + "name" : "ConditionClinicalStatusCodes" + } + }, { + "localId" : "38", + "locator" : "41:1-41:71", + "name" : "unconfirmed", + "id" : "unconfirmed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "38", + "s" : [ { + "value" : [ "// Condition Verification Status Codes - Consider value sets for these\n","code ","\"unconfirmed\"",": ","'unconfirmed'"," from " ] + }, { + "r" : "37", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "37", + "locator" : "41:40-41:71", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "40", + "locator" : "42:1-42:71", + "name" : "provisional", + "id" : "provisional", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "40", + "s" : [ { + "value" : [ "","code ","\"provisional\"",": ","'provisional'"," from " ] + }, { + "r" : "39", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "39", + "locator" : "42:40-42:71", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "42", + "locator" : "43:1-43:73", + "name" : "differential", + "id" : "differential", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "42", + "s" : [ { + "value" : [ "","code ","\"differential\"",": ","'differential'"," from " ] + }, { + "r" : "41", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "41", + "locator" : "43:42-43:73", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "44", + "locator" : "44:1-44:67", + "name" : "confirmed", + "id" : "confirmed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "44", + "s" : [ { + "value" : [ "","code ","\"confirmed\"",": ","'confirmed'"," from " ] + }, { + "r" : "43", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "43", + "locator" : "44:36-44:67", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "46", + "locator" : "45:1-45:63", + "name" : "refuted", + "id" : "refuted", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "46", + "s" : [ { + "value" : [ "","code ","\"refuted\"",": ","'refuted'"," from " ] + }, { + "r" : "45", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "45", + "locator" : "45:32-45:63", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "48", + "locator" : "46:1-46:81", + "name" : "entered-in-error", + "id" : "entered-in-error", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "48", + "s" : [ { + "value" : [ "","code ","\"entered-in-error\"",": ","'entered-in-error'"," from " ] + }, { + "r" : "47", + "s" : [ { + "value" : [ "ConditionVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "47", + "locator" : "46:50-46:81", + "name" : "ConditionVerificationStatusCodes" + } + }, { + "localId" : "50", + "locator" : "48:1-48:76", + "name" : "allergy-active", + "id" : "active", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "50", + "s" : [ { + "value" : [ "","code ","\"allergy-active\"",": ","'active'"," from " ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "\"AllergyIntoleranceClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "49", + "locator" : "48:38-48:76", + "name" : "AllergyIntoleranceClinicalStatusCodes" + } + }, { + "localId" : "52", + "locator" : "49:1-49:80", + "name" : "allergy-inactive", + "id" : "inactive", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "52", + "s" : [ { + "value" : [ "","code ","\"allergy-inactive\"",": ","'inactive'"," from " ] + }, { + "r" : "51", + "s" : [ { + "value" : [ "\"AllergyIntoleranceClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "51", + "locator" : "49:42-49:80", + "name" : "AllergyIntoleranceClinicalStatusCodes" + } + }, { + "localId" : "54", + "locator" : "50:1-50:80", + "name" : "allergy-resolved", + "id" : "resolved", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "value" : [ "","code ","\"allergy-resolved\"",": ","'resolved'"," from " ] + }, { + "r" : "53", + "s" : [ { + "value" : [ "\"AllergyIntoleranceClinicalStatusCodes\"" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "53", + "locator" : "50:42-50:80", + "name" : "AllergyIntoleranceClinicalStatusCodes" + } + }, { + "localId" : "56", + "locator" : "53:1-53:88", + "name" : "allergy-unconfirmed", + "id" : "unconfirmed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "56", + "s" : [ { + "value" : [ "// Allergy/Intolerance Verification Status Codes - Consider value sets for these\n","code ","\"allergy-unconfirmed\"",": ","'unconfirmed'"," from " ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "AllergyIntoleranceVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "55", + "locator" : "53:48-53:88", + "name" : "AllergyIntoleranceVerificationStatusCodes" + } + }, { + "localId" : "58", + "locator" : "54:1-54:84", + "name" : "allergy-confirmed", + "id" : "confirmed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "58", + "s" : [ { + "value" : [ "","code ","\"allergy-confirmed\"",": ","'confirmed'"," from " ] + }, { + "r" : "57", + "s" : [ { + "value" : [ "AllergyIntoleranceVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "57", + "locator" : "54:44-54:84", + "name" : "AllergyIntoleranceVerificationStatusCodes" + } + }, { + "localId" : "60", + "locator" : "55:1-55:80", + "name" : "allergy-refuted", + "id" : "refuted", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "60", + "s" : [ { + "value" : [ "","code ","\"allergy-refuted\"",": ","'refuted'"," from " ] + }, { + "r" : "59", + "s" : [ { + "value" : [ "AllergyIntoleranceVerificationStatusCodes" ] + } ] + } ] + } + } ], + "codeSystem" : { + "localId" : "59", + "locator" : "55:40-55:80", + "name" : "AllergyIntoleranceVerificationStatusCodes" + } + }, { + "localId" : "62", + "locator" : "58:1-58:82", + "name" : "Community", + "id" : "community", + "display" : "Community", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "62", + "s" : [ { + "value" : [ "// MedicationRequest Category Codes\n","code ","\"Community\"",": ","'community'"," from " ] + }, { + "r" : "61", + "s" : [ { + "value" : [ "\"MedicationRequestCategory\"" ] + } ] + }, { + "value" : [ " display ","'Community'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "61", + "locator" : "58:36-58:62", + "name" : "MedicationRequestCategory" + } + }, { + "localId" : "64", + "locator" : "59:1-59:82", + "name" : "Discharge", + "id" : "discharge", + "display" : "Discharge", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "64", + "s" : [ { + "value" : [ "","code ","\"Discharge\"",": ","'discharge'"," from " ] + }, { + "r" : "63", + "s" : [ { + "value" : [ "\"MedicationRequestCategory\"" ] + } ] + }, { + "value" : [ " display ","'Discharge'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "63", + "locator" : "59:36-59:62", + "name" : "MedicationRequestCategory" + } + }, { + "localId" : "66", + "locator" : "62:1-62:67", + "name" : "AD", + "id" : "AD", + "display" : "Admission diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "66", + "s" : [ { + "value" : [ "// Diagnosis Role Codes\n","code ","\"AD\"",": ","'AD'"," from " ] + }, { + "r" : "65", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'Admission diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "65", + "locator" : "62:22-62:37", + "name" : "Diagnosis Role" + } + }, { + "localId" : "68", + "locator" : "63:1-63:67", + "name" : "DD", + "id" : "DD", + "display" : "Discharge diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "68", + "s" : [ { + "value" : [ "","code ","\"DD\"",": ","'DD'"," from " ] + }, { + "r" : "67", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'Discharge diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "67", + "locator" : "63:22-63:37", + "name" : "Diagnosis Role" + } + }, { + "localId" : "70", + "locator" : "64:1-64:63", + "name" : "CC", + "id" : "CC", + "display" : "Chief complaint", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "70", + "s" : [ { + "value" : [ "","code ","\"CC\"",": ","'CC'"," from " ] + }, { + "r" : "69", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'Chief complaint'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "69", + "locator" : "64:22-64:37", + "name" : "Diagnosis Role" + } + }, { + "localId" : "72", + "locator" : "65:1-65:69", + "name" : "CM", + "id" : "CM", + "display" : "Comorbidity diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "72", + "s" : [ { + "value" : [ "","code ","\"CM\"",": ","'CM'"," from " ] + }, { + "r" : "71", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'Comorbidity diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "71", + "locator" : "65:22-65:37", + "name" : "Diagnosis Role" + } + }, { + "localId" : "74", + "locator" : "66:1-66:72", + "name" : "pre-op", + "id" : "pre-op", + "display" : "pre-op diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "74", + "s" : [ { + "value" : [ "","code ","\"pre-op\"",": ","'pre-op'"," from " ] + }, { + "r" : "73", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'pre-op diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "73", + "locator" : "66:30-66:45", + "name" : "Diagnosis Role" + } + }, { + "localId" : "76", + "locator" : "67:1-67:75", + "name" : "post-op", + "id" : "post-op", + "display" : "post-op diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "76", + "s" : [ { + "value" : [ "","code ","\"post-op\"",": ","'post-op'"," from " ] + }, { + "r" : "75", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'post-op diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "75", + "locator" : "67:32-67:47", + "name" : "Diagnosis Role" + } + }, { + "localId" : "78", + "locator" : "68:1-68:75", + "name" : "billing", + "id" : "billing", + "display" : "billing diagnosis", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "78", + "s" : [ { + "value" : [ "","code ","\"billing\"",": ","'billing'"," from " ] + }, { + "r" : "77", + "s" : [ { + "value" : [ "\"Diagnosis Role\"" ] + } ] + }, { + "value" : [ " display ","'billing diagnosis'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "77", + "locator" : "68:32-68:47", + "name" : "Diagnosis Role" + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "70:1-70:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "70:1-70:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "213", + "locator" : "80:1-100:4", + "name" : "ToInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "213", + "s" : [ { + "value" : [ "/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in FHIR, allowing this function to be used across any resource. NOTE: Due to the\ncomplexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used\nwith a Timing or String.\n*/\n","define function ","ToInterval","(","choice"," " ] + }, { + "r" : "86", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "81", + "s" : [ { + "value" : [ "FHIR",".","Timing" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "82", + "s" : [ { + "value" : [ "FHIR",".","instant" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "83", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "84", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "85", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "212", + "s" : [ { + "r" : "212", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "101", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "89", + "s" : [ { + "r" : "87", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "88", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "100", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "94", + "s" : [ { + "r" : "90", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "94", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "93", + "s" : [ { + "r" : "91", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "92", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "99", + "s" : [ { + "r" : "95", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "99", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "98", + "s" : [ { + "r" : "96", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "97", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "110", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "104", + "s" : [ { + "r" : "102", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "103", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ " then\n \t\t" ] + }, { + "r" : "109", + "s" : [ { + "r" : "105", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "109", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "108", + "s" : [ { + "r" : "106", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "107", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "125", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "113", + "s" : [ { + "r" : "111", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "112", + "s" : [ { + "value" : [ "FHIR",".","instant" ] + } ] + } ] + }, { + "value" : [ " then\n\t\t\t" ] + }, { + "r" : "124", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "118", + "s" : [ { + "r" : "114", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "118", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "117", + "s" : [ { + "r" : "115", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "116", + "s" : [ { + "value" : [ "FHIR",".","instant" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "123", + "s" : [ { + "r" : "119", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "123", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "122", + "s" : [ { + "r" : "120", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "121", + "s" : [ { + "value" : [ "FHIR",".","instant" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "152", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "128", + "s" : [ { + "r" : "126", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "127", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ " then\n\t\t " ] + }, { + "r" : "151", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "138", + "s" : [ { + "r" : "132", + "s" : [ { + "r" : "129", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "132", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "131", + "s" : [ { + "r" : "130", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "131", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "137", + "s" : [ { + "r" : "133", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "137", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "136", + "s" : [ { + "r" : "134", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "135", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n\t\t\t " ] + }, { + "r" : "150", + "s" : [ { + "r" : "148", + "s" : [ { + "r" : "142", + "s" : [ { + "r" : "139", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "142", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "141", + "s" : [ { + "r" : "140", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "141", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "147", + "s" : [ { + "r" : "143", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "147", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "146", + "s" : [ { + "r" : "144", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "145", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "149", + "s" : [ { + "value" : [ "1 ","year" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "181", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "155", + "s" : [ { + "r" : "153", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "154", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ " then\n\t\t " ] + }, { + "r" : "180", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "166", + "s" : [ { + "r" : "159", + "s" : [ { + "r" : "156", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "159", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "158", + "s" : [ { + "r" : "157", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "158", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "165", + "s" : [ { + "r" : "160", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "165", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "164", + "s" : [ { + "r" : "163", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "163", + "s" : [ { + "r" : "161", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "162", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "164", + "s" : [ { + "value" : [ "low" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n\t\t\t " ] + }, { + "r" : "179", + "s" : [ { + "r" : "177", + "s" : [ { + "r" : "170", + "s" : [ { + "r" : "167", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "170", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "169", + "s" : [ { + "r" : "168", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "169", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "176", + "s" : [ { + "r" : "171", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "176", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "175", + "s" : [ { + "r" : "174", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "174", + "s" : [ { + "r" : "172", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "173", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "175", + "s" : [ { + "value" : [ "high" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "178", + "s" : [ { + "value" : [ "1 ","year" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "194", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "184", + "s" : [ { + "r" : "182", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "183", + "s" : [ { + "value" : [ "FHIR",".","Timing" ] + } ] + } ] + }, { + "value" : [ " then\n\t\t " ] + }, { + "r" : "193", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "188", + "s" : [ { + "r" : "185", + "value" : [ "null"," as " ] + }, { + "r" : "187", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "186", + "s" : [ { + "value" : [ "DateTime" ] + } ] + }, { + "value" : [ ">" ] + } ] + } ] + }, { + "r" : "189", + "value" : [ ", ","true",", " ] + }, { + "r" : "190", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "192", + "s" : [ { + "value" : [ "'Cannot compute a single interval from a Timing type'" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "197", + "s" : [ { + "r" : "195", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "196", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "206", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "201", + "s" : [ { + "r" : "198", + "value" : [ "null"," as " ] + }, { + "r" : "200", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "199", + "s" : [ { + "value" : [ "DateTime" ] + } ] + }, { + "value" : [ ">" ] + } ] + } ] + }, { + "r" : "202", + "value" : [ ", ","true",", " ] + }, { + "r" : "203", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "204", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "'Cannot compute an interval from a String value'" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n\t\t\t" ] + }, { + "r" : "211", + "s" : [ { + "r" : "208", + "value" : [ "null"," as " ] + }, { + "r" : "210", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "209", + "s" : [ { + "value" : [ "DateTime" ] + } ] + }, { + "value" : [ ">" ] + } ] + } ] + }, { + "value" : [ "\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "212", + "locator" : "81:3-100:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "101", + "locator" : "82:4-83:111", + "when" : { + "localId" : "89", + "locator" : "82:9-82:31", + "type" : "Is", + "operand" : { + "localId" : "87", + "locator" : "82:9-82:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "88", + "locator" : "82:19-82:31", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "100", + "locator" : "83:6-83:111", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "94", + "locator" : "83:15-83:61", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "93", + "locator" : "83:38-83:60", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "91", + "locator" : "83:38-83:43", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "92", + "locator" : "83:48-83:60", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "high" : { + "localId" : "99", + "locator" : "83:64-83:110", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "98", + "locator" : "83:87-83:109", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "96", + "locator" : "83:87-83:92", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "97", + "locator" : "83:97-83:109", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "110", + "locator" : "84:3-85:49", + "when" : { + "localId" : "104", + "locator" : "84:8-84:28", + "type" : "Is", + "operand" : { + "localId" : "102", + "locator" : "84:8-84:13", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "103", + "locator" : "84:18-84:28", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "109", + "locator" : "85:5-85:49", + "name" : "ToInterval", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "108", + "locator" : "85:28-85:48", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "106", + "locator" : "85:28-85:33", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "107", + "locator" : "85:38-85:48", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + } ] + } + }, { + "localId" : "125", + "locator" : "86:3-87:107", + "when" : { + "localId" : "113", + "locator" : "86:8-86:29", + "type" : "Is", + "operand" : { + "localId" : "111", + "locator" : "86:8-86:13", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "112", + "locator" : "86:18-86:29", + "name" : "{http://hl7.org/fhir}instant", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "124", + "locator" : "87:4-87:107", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "118", + "locator" : "87:13-87:58", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "117", + "locator" : "87:36-87:57", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "115", + "locator" : "87:36-87:41", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "116", + "locator" : "87:46-87:57", + "name" : "{http://hl7.org/fhir}instant", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "high" : { + "localId" : "123", + "locator" : "87:61-87:106", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "122", + "locator" : "87:84-87:105", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "120", + "locator" : "87:84-87:89", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "121", + "locator" : "87:94-87:105", + "name" : "{http://hl7.org/fhir}instant", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "152", + "locator" : "88:3-90:97", + "when" : { + "localId" : "128", + "locator" : "88:8-88:25", + "type" : "Is", + "operand" : { + "localId" : "126", + "locator" : "88:8-88:13", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "127", + "locator" : "88:18-88:25", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "151", + "locator" : "89:5-90:97", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "138", + "locator" : "89:14-89:95", + "type" : "Add", + "operand" : [ { + "localId" : "132", + "locator" : "89:14-89:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "131", + "locator" : "89:33-89:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "130", + "locator" : "89:33-89:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "137", + "locator" : "89:54-89:95", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "136", + "locator" : "89:77-89:94", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "134", + "locator" : "89:77-89:82", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "135", + "locator" : "89:87-89:94", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "150", + "locator" : "90:6-90:96", + "type" : "Add", + "operand" : [ { + "localId" : "148", + "locator" : "90:6-90:87", + "type" : "Add", + "operand" : [ { + "localId" : "142", + "locator" : "90:6-90:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "141", + "locator" : "90:25-90:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "140", + "locator" : "90:25-90:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "147", + "locator" : "90:46-90:87", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "146", + "locator" : "90:69-90:86", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "144", + "locator" : "90:69-90:74", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "145", + "locator" : "90:79-90:86", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "149", + "locator" : "90:91-90:96", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "151", + "locator" : "89:5-90:97", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "138", + "locator" : "89:14-89:95", + "type" : "Add", + "operand" : [ { + "localId" : "132", + "locator" : "89:14-89:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "131", + "locator" : "89:33-89:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "130", + "locator" : "89:33-89:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "137", + "locator" : "89:54-89:95", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "136", + "locator" : "89:77-89:94", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "134", + "locator" : "89:77-89:82", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "135", + "locator" : "89:87-89:94", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "150", + "locator" : "90:6-90:96", + "type" : "Add", + "operand" : [ { + "localId" : "148", + "locator" : "90:6-90:87", + "type" : "Add", + "operand" : [ { + "localId" : "142", + "locator" : "90:6-90:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "141", + "locator" : "90:25-90:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "140", + "locator" : "90:25-90:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "147", + "locator" : "90:46-90:87", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "146", + "locator" : "90:69-90:86", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "144", + "locator" : "90:69-90:74", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "145", + "locator" : "90:79-90:86", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "149", + "locator" : "90:91-90:96", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "151", + "locator" : "89:5-90:97", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "138", + "locator" : "89:14-89:95", + "type" : "Add", + "operand" : [ { + "localId" : "132", + "locator" : "89:14-89:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "131", + "locator" : "89:33-89:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "130", + "locator" : "89:33-89:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "137", + "locator" : "89:54-89:95", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "136", + "locator" : "89:77-89:94", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "134", + "locator" : "89:77-89:82", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "135", + "locator" : "89:87-89:94", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "150", + "locator" : "90:6-90:96", + "type" : "Add", + "operand" : [ { + "localId" : "148", + "locator" : "90:6-90:87", + "type" : "Add", + "operand" : [ { + "localId" : "142", + "locator" : "90:6-90:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "141", + "locator" : "90:25-90:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "140", + "locator" : "90:25-90:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "147", + "locator" : "90:46-90:87", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "146", + "locator" : "90:69-90:86", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "144", + "locator" : "90:69-90:74", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "145", + "locator" : "90:79-90:86", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "149", + "locator" : "90:91-90:96", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "151", + "locator" : "89:5-90:97", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "138", + "locator" : "89:14-89:95", + "type" : "Add", + "operand" : [ { + "localId" : "132", + "locator" : "89:14-89:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "131", + "locator" : "89:33-89:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "130", + "locator" : "89:33-89:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "137", + "locator" : "89:54-89:95", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "136", + "locator" : "89:77-89:94", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "134", + "locator" : "89:77-89:82", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "135", + "locator" : "89:87-89:94", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "150", + "locator" : "90:6-90:96", + "type" : "Add", + "operand" : [ { + "localId" : "148", + "locator" : "90:6-90:87", + "type" : "Add", + "operand" : [ { + "localId" : "142", + "locator" : "90:6-90:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "141", + "locator" : "90:25-90:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "140", + "locator" : "90:25-90:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "147", + "locator" : "90:46-90:87", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "146", + "locator" : "90:69-90:86", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "144", + "locator" : "90:69-90:74", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "145", + "locator" : "90:79-90:86", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "149", + "locator" : "90:91-90:96", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + } + }, { + "localId" : "181", + "locator" : "91:3-93:106", + "when" : { + "localId" : "155", + "locator" : "91:8-91:27", + "type" : "Is", + "operand" : { + "localId" : "153", + "locator" : "91:8-91:13", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "154", + "locator" : "91:18-91:27", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "180", + "locator" : "92:5-93:106", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "166", + "locator" : "92:14-92:103", + "type" : "Add", + "operand" : [ { + "localId" : "159", + "locator" : "92:14-92:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "158", + "locator" : "92:33-92:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "157", + "locator" : "92:33-92:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "165", + "locator" : "92:54-92:103", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "164", + "locator" : "92:77-92:102", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "163", + "locator" : "92:77-92:98", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "161", + "locator" : "92:78-92:83", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "162", + "locator" : "92:88-92:97", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "179", + "locator" : "93:6-93:105", + "type" : "Add", + "operand" : [ { + "localId" : "177", + "locator" : "93:6-93:96", + "type" : "Add", + "operand" : [ { + "localId" : "170", + "locator" : "93:6-93:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "169", + "locator" : "93:25-93:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "168", + "locator" : "93:25-93:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "176", + "locator" : "93:46-93:96", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "175", + "locator" : "93:69-93:95", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "174", + "locator" : "93:69-93:90", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "172", + "locator" : "93:70-93:75", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "173", + "locator" : "93:80-93:89", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "178", + "locator" : "93:100-93:105", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "180", + "locator" : "92:5-93:106", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "166", + "locator" : "92:14-92:103", + "type" : "Add", + "operand" : [ { + "localId" : "159", + "locator" : "92:14-92:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "158", + "locator" : "92:33-92:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "157", + "locator" : "92:33-92:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "165", + "locator" : "92:54-92:103", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "164", + "locator" : "92:77-92:102", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "163", + "locator" : "92:77-92:98", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "161", + "locator" : "92:78-92:83", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "162", + "locator" : "92:88-92:97", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "179", + "locator" : "93:6-93:105", + "type" : "Add", + "operand" : [ { + "localId" : "177", + "locator" : "93:6-93:96", + "type" : "Add", + "operand" : [ { + "localId" : "170", + "locator" : "93:6-93:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "169", + "locator" : "93:25-93:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "168", + "locator" : "93:25-93:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "176", + "locator" : "93:46-93:96", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "175", + "locator" : "93:69-93:95", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "174", + "locator" : "93:69-93:90", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "172", + "locator" : "93:70-93:75", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "173", + "locator" : "93:80-93:89", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "178", + "locator" : "93:100-93:105", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "180", + "locator" : "92:5-93:106", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "166", + "locator" : "92:14-92:103", + "type" : "Add", + "operand" : [ { + "localId" : "159", + "locator" : "92:14-92:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "158", + "locator" : "92:33-92:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "157", + "locator" : "92:33-92:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "165", + "locator" : "92:54-92:103", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "164", + "locator" : "92:77-92:102", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "163", + "locator" : "92:77-92:98", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "161", + "locator" : "92:78-92:83", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "162", + "locator" : "92:88-92:97", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "179", + "locator" : "93:6-93:105", + "type" : "Add", + "operand" : [ { + "localId" : "177", + "locator" : "93:6-93:96", + "type" : "Add", + "operand" : [ { + "localId" : "170", + "locator" : "93:6-93:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "169", + "locator" : "93:25-93:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "168", + "locator" : "93:25-93:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "176", + "locator" : "93:46-93:96", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "175", + "locator" : "93:69-93:95", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "174", + "locator" : "93:69-93:90", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "172", + "locator" : "93:70-93:75", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "173", + "locator" : "93:80-93:89", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "178", + "locator" : "93:100-93:105", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "180", + "locator" : "92:5-93:106", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "166", + "locator" : "92:14-92:103", + "type" : "Add", + "operand" : [ { + "localId" : "159", + "locator" : "92:14-92:50", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "158", + "locator" : "92:33-92:49", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "157", + "locator" : "92:33-92:39", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "165", + "locator" : "92:54-92:103", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "164", + "locator" : "92:77-92:102", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "163", + "locator" : "92:77-92:98", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "161", + "locator" : "92:78-92:83", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "162", + "locator" : "92:88-92:97", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "179", + "locator" : "93:6-93:105", + "type" : "Add", + "operand" : [ { + "localId" : "177", + "locator" : "93:6-93:96", + "type" : "Add", + "operand" : [ { + "localId" : "170", + "locator" : "93:6-93:42", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "169", + "locator" : "93:25-93:41", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "168", + "locator" : "93:25-93:31", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "176", + "locator" : "93:46-93:96", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "175", + "locator" : "93:69-93:95", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "174", + "locator" : "93:69-93:90", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "172", + "locator" : "93:70-93:75", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "173", + "locator" : "93:80-93:89", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "178", + "locator" : "93:100-93:105", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + } + }, { + "localId" : "194", + "locator" : "94:3-95:114", + "when" : { + "localId" : "184", + "locator" : "94:8-94:28", + "type" : "Is", + "operand" : { + "localId" : "182", + "locator" : "94:8-94:13", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "183", + "locator" : "94:18-94:28", + "name" : "{http://hl7.org/fhir}Timing", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "193", + "locator" : "95:5-95:114", + "type" : "Message", + "source" : { + "localId" : "188", + "locator" : "95:13-95:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "185", + "locator" : "95:13-95:16", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "187", + "locator" : "95:21-95:38", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "186", + "locator" : "95:30-95:37", + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + }, + "condition" : { + "localId" : "189", + "locator" : "95:41-95:44", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "190", + "locator" : "95:47-95:49", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "191", + "locator" : "95:52-95:58", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "192", + "locator" : "95:61-95:113", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute a single interval from a Timing type", + "type" : "Literal" + } + } + }, { + "localId" : "207", + "locator" : "96:5-97:111", + "when" : { + "localId" : "197", + "locator" : "96:10-96:30", + "type" : "Is", + "operand" : { + "localId" : "195", + "locator" : "96:10-96:15", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "196", + "locator" : "96:20-96:30", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "206", + "locator" : "97:7-97:111", + "type" : "Message", + "source" : { + "localId" : "201", + "locator" : "97:15-97:40", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "198", + "locator" : "97:15-97:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "200", + "locator" : "97:23-97:40", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "199", + "locator" : "97:32-97:39", + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + }, + "condition" : { + "localId" : "202", + "locator" : "97:43-97:46", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "203", + "locator" : "97:49-97:51", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "204", + "locator" : "97:54-97:60", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "205", + "locator" : "97:63-97:110", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute an interval from a String value", + "type" : "Literal" + } + } + } ], + "else" : { + "localId" : "211", + "locator" : "99:4-99:29", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "208", + "locator" : "99:4-99:7", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "210", + "locator" : "99:12-99:29", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "209", + "locator" : "99:21-99:28", + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "86", + "locator" : "80:35-80:130", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "79", + "locator" : "80:42-80:54", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "80", + "locator" : "80:57-80:67", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "81", + "locator" : "80:70-80:80", + "name" : "{http://hl7.org/fhir}Timing", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "82", + "locator" : "80:83-80:94", + "name" : "{http://hl7.org/fhir}instant", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "83", + "locator" : "80:97-80:107", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "84", + "locator" : "80:110-80:117", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "85", + "locator" : "80:120-80:129", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + }, { + "localId" : "333", + "locator" : "107:1-122:10", + "name" : "ToAbatementInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "333", + "s" : [ { + "value" : [ "/*\n@description: Returns an interval representing the normalized Abatement of a given Condition resource.\n@comment: NOTE: Due to the complexity of determining an interval from a String, this function will throw\na run-time exception if used with a Condition instance that has a String as the abatement value.\n*/\n","define function ","ToAbatementInterval","(","condition"," " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "Condition" ] + } ] + }, { + "value" : [ "):\n\t" ] + }, { + "r" : "332", + "s" : [ { + "r" : "332", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "218", + "s" : [ { + "r" : "216", + "s" : [ { + "r" : "215", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "216", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "217", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ " then\n\t " ] + }, { + "r" : "231", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "224", + "s" : [ { + "r" : "219", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "223", + "s" : [ { + "r" : "221", + "s" : [ { + "r" : "220", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "221", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "222", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "230", + "s" : [ { + "r" : "225", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "230", + "s" : [ { + "value" : [ "ToDateTime","(" ] + }, { + "r" : "229", + "s" : [ { + "r" : "227", + "s" : [ { + "r" : "226", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "227", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "228", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "331", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "235", + "s" : [ { + "r" : "233", + "s" : [ { + "r" : "232", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "233", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "234", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ " then\n\t " ] + }, { + "r" : "241", + "s" : [ { + "r" : "236", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "241", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "240", + "s" : [ { + "r" : "238", + "s" : [ { + "r" : "237", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "238", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "239", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "330", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "245", + "s" : [ { + "r" : "243", + "s" : [ { + "r" : "242", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "243", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "244", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "254", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "249", + "s" : [ { + "r" : "246", + "value" : [ "null"," as " ] + }, { + "r" : "248", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "247", + "s" : [ { + "value" : [ "DateTime" ] + } ] + }, { + "value" : [ ">" ] + } ] + } ] + }, { + "r" : "250", + "value" : [ ", ","true",", " ] + }, { + "r" : "251", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "252", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "253", + "s" : [ { + "value" : [ "'Cannot compute an interval from a String value'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "329", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "258", + "s" : [ { + "r" : "256", + "s" : [ { + "r" : "255", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "256", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "257", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ " then\n\t\t" ] + }, { + "r" : "283", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "269", + "s" : [ { + "r" : "262", + "s" : [ { + "r" : "259", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "262", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "261", + "s" : [ { + "r" : "260", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "261", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "268", + "s" : [ { + "r" : "263", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "268", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "267", + "s" : [ { + "r" : "265", + "s" : [ { + "r" : "264", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "265", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "266", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n\t\t\t" ] + }, { + "r" : "282", + "s" : [ { + "r" : "280", + "s" : [ { + "r" : "273", + "s" : [ { + "r" : "270", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "273", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "272", + "s" : [ { + "r" : "271", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "272", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "279", + "s" : [ { + "r" : "274", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "279", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "278", + "s" : [ { + "r" : "276", + "s" : [ { + "r" : "275", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "276", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "277", + "s" : [ { + "value" : [ "FHIR",".","Age" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "281", + "s" : [ { + "value" : [ "1 ","year" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "328", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "287", + "s" : [ { + "r" : "285", + "s" : [ { + "r" : "284", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "285", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "286", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ " then\n\t " ] + }, { + "r" : "314", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "299", + "s" : [ { + "r" : "291", + "s" : [ { + "r" : "288", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "291", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "290", + "s" : [ { + "r" : "289", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "290", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "298", + "s" : [ { + "r" : "292", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "298", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "297", + "s" : [ { + "r" : "296", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "296", + "s" : [ { + "r" : "294", + "s" : [ { + "r" : "293", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "294", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "295", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "297", + "s" : [ { + "value" : [ "low" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n\t\t " ] + }, { + "r" : "313", + "s" : [ { + "r" : "311", + "s" : [ { + "r" : "303", + "s" : [ { + "r" : "300", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "303", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "302", + "s" : [ { + "r" : "301", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "302", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "310", + "s" : [ { + "r" : "304", + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "310", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "309", + "s" : [ { + "r" : "308", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "308", + "s" : [ { + "r" : "306", + "s" : [ { + "r" : "305", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "306", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "307", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "309", + "s" : [ { + "value" : [ "high" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "312", + "s" : [ { + "value" : [ "1 ","year" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "327", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "318", + "s" : [ { + "r" : "316", + "s" : [ { + "r" : "315", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "316", + "s" : [ { + "value" : [ "abatement" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "317", + "s" : [ { + "value" : [ "FHIR",".","boolean" ] + } ] + } ] + }, { + "value" : [ " then\n\t " ] + }, { + "r" : "325", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "322", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "321", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "320", + "s" : [ { + "r" : "319", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "320", + "s" : [ { + "value" : [ "onset" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "324", + "s" : [ { + "r" : "323", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "324", + "s" : [ { + "value" : [ "recordedDate" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "326", + "value" : [ "\n\telse ","null" ] + } ] + } ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "332", + "locator" : "108:2-122:10", + "type" : "If", + "condition" : { + "localId" : "218", + "locator" : "108:5-108:40", + "type" : "Is", + "operand" : { + "localId" : "216", + "locator" : "108:5-108:23", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "215", + "locator" : "108:5-108:13", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "217", + "locator" : "108:28-108:40", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "231", + "locator" : "109:4-109:135", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "224", + "locator" : "109:13-109:72", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "223", + "locator" : "109:36-109:71", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "221", + "locator" : "109:36-109:54", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "220", + "locator" : "109:36-109:44", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "222", + "locator" : "109:59-109:71", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "high" : { + "localId" : "230", + "locator" : "109:75-109:134", + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "229", + "locator" : "109:98-109:133", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "227", + "locator" : "109:98-109:116", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "226", + "locator" : "109:98-109:106", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "228", + "locator" : "109:121-109:133", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + }, + "else" : { + "localId" : "331", + "locator" : "110:7-122:10", + "type" : "If", + "condition" : { + "localId" : "235", + "locator" : "110:10-110:43", + "type" : "Is", + "operand" : { + "localId" : "233", + "locator" : "110:10-110:28", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "232", + "locator" : "110:10-110:18", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "234", + "locator" : "110:33-110:43", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "241", + "locator" : "111:4-111:61", + "name" : "ToInterval", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "240", + "locator" : "111:27-111:60", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "238", + "locator" : "111:27-111:45", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "237", + "locator" : "111:27-111:35", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "239", + "locator" : "111:50-111:60", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "else" : { + "localId" : "330", + "locator" : "112:7-122:10", + "type" : "If", + "condition" : { + "localId" : "245", + "locator" : "112:10-112:43", + "type" : "Is", + "operand" : { + "localId" : "243", + "locator" : "112:10-112:28", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "242", + "locator" : "112:10-112:18", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "244", + "locator" : "112:33-112:43", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "254", + "locator" : "113:5-113:109", + "type" : "Message", + "source" : { + "localId" : "249", + "locator" : "113:13-113:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "246", + "locator" : "113:13-113:16", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "248", + "locator" : "113:21-113:38", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "247", + "locator" : "113:30-113:37", + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + }, + "condition" : { + "localId" : "250", + "locator" : "113:41-113:44", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "251", + "locator" : "113:47-113:49", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "252", + "locator" : "113:52-113:58", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "253", + "locator" : "113:61-113:108", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute an interval from a String value", + "type" : "Literal" + } + }, + "else" : { + "localId" : "329", + "locator" : "114:7-122:10", + "type" : "If", + "condition" : { + "localId" : "258", + "locator" : "114:10-114:40", + "type" : "Is", + "operand" : { + "localId" : "256", + "locator" : "114:10-114:28", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "255", + "locator" : "114:10-114:18", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "257", + "locator" : "114:33-114:40", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "283", + "locator" : "115:3-116:108", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "269", + "locator" : "115:12-115:106", + "type" : "Add", + "operand" : [ { + "localId" : "262", + "locator" : "115:12-115:48", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "261", + "locator" : "115:31-115:47", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "260", + "locator" : "115:31-115:37", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "268", + "locator" : "115:52-115:106", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "267", + "locator" : "115:75-115:105", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "265", + "locator" : "115:75-115:93", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "264", + "locator" : "115:75-115:83", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "266", + "locator" : "115:98-115:105", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "282", + "locator" : "116:4-116:107", + "type" : "Add", + "operand" : [ { + "localId" : "280", + "locator" : "116:4-116:98", + "type" : "Add", + "operand" : [ { + "localId" : "273", + "locator" : "116:4-116:40", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "272", + "locator" : "116:23-116:39", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "271", + "locator" : "116:23-116:29", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "279", + "locator" : "116:44-116:98", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "278", + "locator" : "116:67-116:97", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "276", + "locator" : "116:67-116:85", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "275", + "locator" : "116:67-116:75", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "277", + "locator" : "116:90-116:97", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "281", + "locator" : "116:102-116:107", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "283", + "locator" : "115:3-116:108", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "269", + "locator" : "115:12-115:106", + "type" : "Add", + "operand" : [ { + "localId" : "262", + "locator" : "115:12-115:48", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "261", + "locator" : "115:31-115:47", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "260", + "locator" : "115:31-115:37", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "268", + "locator" : "115:52-115:106", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "267", + "locator" : "115:75-115:105", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "265", + "locator" : "115:75-115:93", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "264", + "locator" : "115:75-115:83", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "266", + "locator" : "115:98-115:105", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "282", + "locator" : "116:4-116:107", + "type" : "Add", + "operand" : [ { + "localId" : "280", + "locator" : "116:4-116:98", + "type" : "Add", + "operand" : [ { + "localId" : "273", + "locator" : "116:4-116:40", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "272", + "locator" : "116:23-116:39", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "271", + "locator" : "116:23-116:29", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "279", + "locator" : "116:44-116:98", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "278", + "locator" : "116:67-116:97", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "276", + "locator" : "116:67-116:85", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "275", + "locator" : "116:67-116:75", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "277", + "locator" : "116:90-116:97", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "281", + "locator" : "116:102-116:107", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "283", + "locator" : "115:3-116:108", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "269", + "locator" : "115:12-115:106", + "type" : "Add", + "operand" : [ { + "localId" : "262", + "locator" : "115:12-115:48", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "261", + "locator" : "115:31-115:47", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "260", + "locator" : "115:31-115:37", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "268", + "locator" : "115:52-115:106", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "267", + "locator" : "115:75-115:105", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "265", + "locator" : "115:75-115:93", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "264", + "locator" : "115:75-115:83", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "266", + "locator" : "115:98-115:105", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "282", + "locator" : "116:4-116:107", + "type" : "Add", + "operand" : [ { + "localId" : "280", + "locator" : "116:4-116:98", + "type" : "Add", + "operand" : [ { + "localId" : "273", + "locator" : "116:4-116:40", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "272", + "locator" : "116:23-116:39", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "271", + "locator" : "116:23-116:29", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "279", + "locator" : "116:44-116:98", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "278", + "locator" : "116:67-116:97", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "276", + "locator" : "116:67-116:85", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "275", + "locator" : "116:67-116:75", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "277", + "locator" : "116:90-116:97", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "281", + "locator" : "116:102-116:107", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "283", + "locator" : "115:3-116:108", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "269", + "locator" : "115:12-115:106", + "type" : "Add", + "operand" : [ { + "localId" : "262", + "locator" : "115:12-115:48", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "261", + "locator" : "115:31-115:47", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "260", + "locator" : "115:31-115:37", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "268", + "locator" : "115:52-115:106", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "267", + "locator" : "115:75-115:105", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "265", + "locator" : "115:75-115:93", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "264", + "locator" : "115:75-115:83", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "266", + "locator" : "115:98-115:105", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, + "high" : { + "localId" : "282", + "locator" : "116:4-116:107", + "type" : "Add", + "operand" : [ { + "localId" : "280", + "locator" : "116:4-116:98", + "type" : "Add", + "operand" : [ { + "localId" : "273", + "locator" : "116:4-116:40", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "272", + "locator" : "116:23-116:39", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "271", + "locator" : "116:23-116:29", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "279", + "locator" : "116:44-116:98", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "278", + "locator" : "116:67-116:97", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "276", + "locator" : "116:67-116:85", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "275", + "locator" : "116:67-116:75", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "277", + "locator" : "116:90-116:97", + "name" : "{http://hl7.org/fhir}Age", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + }, { + "localId" : "281", + "locator" : "116:102-116:107", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "else" : { + "localId" : "328", + "locator" : "117:7-122:10", + "type" : "If", + "condition" : { + "localId" : "287", + "locator" : "117:10-117:42", + "type" : "Is", + "operand" : { + "localId" : "285", + "locator" : "117:10-117:28", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "284", + "locator" : "117:10-117:18", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "286", + "locator" : "117:33-117:42", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "314", + "locator" : "118:4-119:118", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "299", + "locator" : "118:13-118:115", + "type" : "Add", + "operand" : [ { + "localId" : "291", + "locator" : "118:13-118:49", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "290", + "locator" : "118:32-118:48", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "289", + "locator" : "118:32-118:38", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "298", + "locator" : "118:53-118:115", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "297", + "locator" : "118:76-118:114", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "296", + "locator" : "118:76-118:110", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "294", + "locator" : "118:77-118:95", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "293", + "locator" : "118:77-118:85", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "295", + "locator" : "118:100-118:109", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "313", + "locator" : "119:5-119:117", + "type" : "Add", + "operand" : [ { + "localId" : "311", + "locator" : "119:5-119:108", + "type" : "Add", + "operand" : [ { + "localId" : "303", + "locator" : "119:5-119:41", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "302", + "locator" : "119:24-119:40", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "301", + "locator" : "119:24-119:30", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "310", + "locator" : "119:45-119:108", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "309", + "locator" : "119:68-119:107", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "308", + "locator" : "119:68-119:102", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "306", + "locator" : "119:69-119:87", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "305", + "locator" : "119:69-119:77", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "307", + "locator" : "119:92-119:101", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "312", + "locator" : "119:112-119:117", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "314", + "locator" : "118:4-119:118", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "299", + "locator" : "118:13-118:115", + "type" : "Add", + "operand" : [ { + "localId" : "291", + "locator" : "118:13-118:49", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "290", + "locator" : "118:32-118:48", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "289", + "locator" : "118:32-118:38", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "298", + "locator" : "118:53-118:115", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "297", + "locator" : "118:76-118:114", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "296", + "locator" : "118:76-118:110", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "294", + "locator" : "118:77-118:95", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "293", + "locator" : "118:77-118:85", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "295", + "locator" : "118:100-118:109", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "313", + "locator" : "119:5-119:117", + "type" : "Add", + "operand" : [ { + "localId" : "311", + "locator" : "119:5-119:108", + "type" : "Add", + "operand" : [ { + "localId" : "303", + "locator" : "119:5-119:41", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "302", + "locator" : "119:24-119:40", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "301", + "locator" : "119:24-119:30", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "310", + "locator" : "119:45-119:108", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "309", + "locator" : "119:68-119:107", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "308", + "locator" : "119:68-119:102", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "306", + "locator" : "119:69-119:87", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "305", + "locator" : "119:69-119:77", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "307", + "locator" : "119:92-119:101", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "312", + "locator" : "119:112-119:117", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "314", + "locator" : "118:4-119:118", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "299", + "locator" : "118:13-118:115", + "type" : "Add", + "operand" : [ { + "localId" : "291", + "locator" : "118:13-118:49", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "290", + "locator" : "118:32-118:48", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "289", + "locator" : "118:32-118:38", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "298", + "locator" : "118:53-118:115", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "297", + "locator" : "118:76-118:114", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "296", + "locator" : "118:76-118:110", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "294", + "locator" : "118:77-118:95", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "293", + "locator" : "118:77-118:85", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "295", + "locator" : "118:100-118:109", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "313", + "locator" : "119:5-119:117", + "type" : "Add", + "operand" : [ { + "localId" : "311", + "locator" : "119:5-119:108", + "type" : "Add", + "operand" : [ { + "localId" : "303", + "locator" : "119:5-119:41", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "302", + "locator" : "119:24-119:40", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "301", + "locator" : "119:24-119:30", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "310", + "locator" : "119:45-119:108", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "309", + "locator" : "119:68-119:107", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "308", + "locator" : "119:68-119:102", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "306", + "locator" : "119:69-119:87", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "305", + "locator" : "119:69-119:77", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "307", + "locator" : "119:92-119:101", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "312", + "locator" : "119:112-119:117", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "314", + "locator" : "118:4-119:118", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "299", + "locator" : "118:13-118:115", + "type" : "Add", + "operand" : [ { + "localId" : "291", + "locator" : "118:13-118:49", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "290", + "locator" : "118:32-118:48", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "289", + "locator" : "118:32-118:38", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "298", + "locator" : "118:53-118:115", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "297", + "locator" : "118:76-118:114", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "296", + "locator" : "118:76-118:110", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "294", + "locator" : "118:77-118:95", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "293", + "locator" : "118:77-118:85", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "295", + "locator" : "118:100-118:109", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, + "high" : { + "localId" : "313", + "locator" : "119:5-119:117", + "type" : "Add", + "operand" : [ { + "localId" : "311", + "locator" : "119:5-119:108", + "type" : "Add", + "operand" : [ { + "localId" : "303", + "locator" : "119:5-119:41", + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "302", + "locator" : "119:24-119:40", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "301", + "locator" : "119:24-119:30", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "310", + "locator" : "119:45-119:108", + "name" : "ToQuantity", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "309", + "locator" : "119:68-119:107", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "308", + "locator" : "119:68-119:102", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "306", + "locator" : "119:69-119:87", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "305", + "locator" : "119:69-119:77", + "name" : "condition", + "type" : "OperandRef" + } + }, + "asTypeSpecifier" : { + "localId" : "307", + "locator" : "119:92-119:101", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } + } ] + } ] + }, { + "localId" : "312", + "locator" : "119:112-119:117", + "value" : 1, + "unit" : "year", + "type" : "Quantity" + } ] + } + } + } + }, + "else" : { + "localId" : "327", + "locator" : "120:7-122:10", + "type" : "If", + "condition" : { + "localId" : "318", + "locator" : "120:10-120:44", + "type" : "Is", + "operand" : { + "localId" : "316", + "locator" : "120:10-120:28", + "path" : "abatement", + "type" : "Property", + "source" : { + "localId" : "315", + "locator" : "120:10-120:18", + "name" : "condition", + "type" : "OperandRef" + } + }, + "isTypeSpecifier" : { + "localId" : "317", + "locator" : "120:33-120:44", + "name" : "{http://hl7.org/fhir}boolean", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "325", + "locator" : "121:4-121:71", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "322", + "locator" : "121:13-121:46", + "type" : "End", + "operand" : { + "localId" : "321", + "locator" : "121:20-121:46", + "name" : "ToInterval", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "320", + "locator" : "121:31-121:45", + "path" : "onset", + "type" : "Property", + "source" : { + "localId" : "319", + "locator" : "121:31-121:39", + "name" : "condition", + "type" : "OperandRef" + } + } ] + } + }, + "high" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "324", + "locator" : "121:49-121:70", + "path" : "recordedDate", + "type" : "Property", + "source" : { + "localId" : "323", + "locator" : "121:49-121:57", + "name" : "condition", + "type" : "OperandRef" + } + } ] + } + }, + "else" : { + "type" : "As", + "operand" : { + "localId" : "326", + "locator" : "122:7-122:10", + "type" : "Null" + }, + "asTypeSpecifier" : { + "type" : "IntervalTypeSpecifier", + "pointType" : { + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + } + } + } + } + } + } + }, + "operand" : [ { + "name" : "condition", + "operandTypeSpecifier" : { + "localId" : "214", + "locator" : "107:47-107:55", + "name" : "{http://hl7.org/fhir}Condition", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "366", + "locator" : "129:1-135:87", + "name" : "ToPrevalenceInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "366", + "s" : [ { + "value" : [ "/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition resource.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition.\n*/\n","define function ","ToPrevalenceInterval","(","condition"," " ] + }, { + "r" : "334", + "s" : [ { + "value" : [ "Condition" ] + } ] + }, { + "value" : [ "):\n" ] + }, { + "r" : "365", + "s" : [ { + "r" : "365", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "348", + "s" : [ { + "r" : "343", + "s" : [ { + "r" : "338", + "s" : [ { + "r" : "336", + "s" : [ { + "r" : "335", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "336", + "s" : [ { + "value" : [ "clinicalStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "337", + "s" : [ { + "value" : [ "\"active\"" ] + } ] + } ] + }, { + "value" : [ "\n or " ] + }, { + "r" : "342", + "s" : [ { + "r" : "340", + "s" : [ { + "r" : "339", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "340", + "s" : [ { + "value" : [ "clinicalStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "341", + "s" : [ { + "value" : [ "\"recurrence\"" ] + } ] + } ] + } ] + }, { + "value" : [ "\n or " ] + }, { + "r" : "347", + "s" : [ { + "r" : "345", + "s" : [ { + "r" : "344", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "345", + "s" : [ { + "value" : [ "clinicalStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "346", + "s" : [ { + "value" : [ "\"relapse\"" ] + } ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "356", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "352", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "351", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "350", + "s" : [ { + "r" : "349", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "350", + "s" : [ { + "value" : [ "onset" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "355", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "354", + "s" : [ { + "value" : [ "ToAbatementInterval","(" ] + }, { + "r" : "353", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + }, { + "value" : [ "\nelse\n " ] + }, { + "r" : "364", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "360", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "359", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "358", + "s" : [ { + "r" : "357", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "358", + "s" : [ { + "value" : [ "onset" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "363", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "362", + "s" : [ { + "value" : [ "ToAbatementInterval","(" ] + }, { + "r" : "361", + "s" : [ { + "value" : [ "condition" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "365", + "locator" : "130:1-135:87", + "type" : "If", + "condition" : { + "localId" : "348", + "locator" : "130:4-132:41", + "type" : "Or", + "operand" : [ { + "localId" : "343", + "locator" : "130:4-131:44", + "type" : "Or", + "operand" : [ { + "localId" : "338", + "locator" : "130:4-130:38", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "336", + "locator" : "130:4-130:27", + "path" : "clinicalStatus", + "type" : "Property", + "source" : { + "localId" : "335", + "locator" : "130:4-130:12", + "name" : "condition", + "type" : "OperandRef" + } + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "337", + "locator" : "130:31-130:38", + "name" : "active", + "type" : "CodeRef" + } + } ] + }, { + "localId" : "342", + "locator" : "131:6-131:44", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "340", + "locator" : "131:6-131:29", + "path" : "clinicalStatus", + "type" : "Property", + "source" : { + "localId" : "339", + "locator" : "131:6-131:14", + "name" : "condition", + "type" : "OperandRef" + } + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "341", + "locator" : "131:33-131:44", + "name" : "recurrence", + "type" : "CodeRef" + } + } ] + } ] + }, { + "localId" : "347", + "locator" : "132:6-132:41", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "345", + "locator" : "132:6-132:29", + "path" : "clinicalStatus", + "type" : "Property", + "source" : { + "localId" : "344", + "locator" : "132:6-132:14", + "name" : "condition", + "type" : "OperandRef" + } + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "346", + "locator" : "132:33-132:41", + "name" : "relapse", + "type" : "CodeRef" + } + } ] + } ] + }, + "then" : { + "localId" : "356", + "locator" : "133:3-133:87", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "352", + "locator" : "133:12-133:47", + "type" : "Start", + "operand" : { + "localId" : "351", + "locator" : "133:21-133:47", + "name" : "ToInterval", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "350", + "locator" : "133:32-133:46", + "path" : "onset", + "type" : "Property", + "source" : { + "localId" : "349", + "locator" : "133:32-133:40", + "name" : "condition", + "type" : "OperandRef" + } + } ] + } + }, + "high" : { + "localId" : "355", + "locator" : "133:50-133:86", + "type" : "End", + "operand" : { + "localId" : "354", + "locator" : "133:57-133:86", + "name" : "ToAbatementInterval", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "353", + "locator" : "133:77-133:85", + "name" : "condition", + "type" : "OperandRef" + } ] + } + } + }, + "else" : { + "localId" : "364", + "locator" : "135:3-135:87", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "localId" : "360", + "locator" : "135:12-135:47", + "type" : "Start", + "operand" : { + "localId" : "359", + "locator" : "135:21-135:47", + "name" : "ToInterval", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "358", + "locator" : "135:32-135:46", + "path" : "onset", + "type" : "Property", + "source" : { + "localId" : "357", + "locator" : "135:32-135:40", + "name" : "condition", + "type" : "OperandRef" + } + } ] + } + }, + "high" : { + "localId" : "363", + "locator" : "135:50-135:86", + "type" : "End", + "operand" : { + "localId" : "362", + "locator" : "135:57-135:86", + "name" : "ToAbatementInterval", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "361", + "locator" : "135:77-135:85", + "name" : "condition", + "type" : "OperandRef" + } ] + } + } + } + }, + "operand" : [ { + "name" : "condition", + "operandTypeSpecifier" : { + "localId" : "334", + "locator" : "129:48-129:56", + "name" : "{http://hl7.org/fhir}Condition", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "378", + "locator" : "143:1-146:10", + "name" : "Extensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "378", + "s" : [ { + "value" : [ "/*\n@description: Returns any extensions defined on the given resource with the specified url.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\n","define function ","Extensions","(","domainResource"," " ] + }, { + "r" : "367", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "368", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "377", + "s" : [ { + "r" : "377", + "s" : [ { + "s" : [ { + "r" : "370", + "s" : [ { + "r" : "369", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "374", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "374", + "s" : [ { + "r" : "372", + "s" : [ { + "r" : "371", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "372", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "373", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "376", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "375", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "377", + "locator" : "144:3-146:10", + "type" : "Query", + "source" : [ { + "localId" : "370", + "locator" : "144:3-144:28", + "alias" : "E", + "expression" : { + "localId" : "369", + "locator" : "144:3-144:26", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "374", + "locator" : "145:4-145:20", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "372", + "locator" : "145:10-145:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "373", + "locator" : "145:18-145:20", + "name" : "url", + "type" : "OperandRef" + } ] + }, + "return" : { + "localId" : "376", + "locator" : "146:3-146:10", + "expression" : { + "localId" : "375", + "locator" : "146:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "367", + "locator" : "143:43-143:56", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "368", + "locator" : "143:63-143:68", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "385", + "locator" : "153:1-154:50", + "name" : "Extension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "385", + "s" : [ { + "value" : [ "/*\n@description: Returns the single extension (if present) on the given resource with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","Extension","(","domainResource"," " ] + }, { + "r" : "379", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "380", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "384", + "s" : [ { + "r" : "384", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "383", + "s" : [ { + "value" : [ "\"Extensions\"","(" ] + }, { + "r" : "381", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "382", + "s" : [ { + "value" : [ "url" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "384", + "locator" : "154:3-154:50", + "type" : "SingletonFrom", + "operand" : { + "localId" : "383", + "locator" : "154:18-154:50", + "name" : "Extensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "381", + "locator" : "154:31-154:44", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "382", + "locator" : "154:47-154:49", + "name" : "url", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "379", + "locator" : "153:42-153:55", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "380", + "locator" : "153:62-153:67", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "397", + "locator" : "161:1-164:10", + "name" : "Extensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "397", + "s" : [ { + "value" : [ "/*\n@description: Returns any extensions defined on the given element with the specified url.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","Extensions","(","element"," " ] + }, { + "r" : "386", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "387", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "396", + "s" : [ { + "r" : "396", + "s" : [ { + "s" : [ { + "r" : "389", + "s" : [ { + "r" : "388", + "s" : [ { + "s" : [ { + "value" : [ "element",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "393", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "393", + "s" : [ { + "r" : "391", + "s" : [ { + "r" : "390", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "391", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "392", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "395", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "394", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "396", + "locator" : "162:3-164:10", + "type" : "Query", + "source" : [ { + "localId" : "389", + "locator" : "162:3-162:21", + "alias" : "E", + "expression" : { + "localId" : "388", + "locator" : "162:3-162:19", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "393", + "locator" : "163:4-163:20", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "391", + "locator" : "163:10-163:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "392", + "locator" : "163:18-163:20", + "name" : "url", + "type" : "OperandRef" + } ] + }, + "return" : { + "localId" : "395", + "locator" : "164:3-164:10", + "expression" : { + "localId" : "394", + "locator" : "164:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "386", + "locator" : "161:36-161:42", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "387", + "locator" : "161:49-161:54", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "404", + "locator" : "171:1-172:41", + "name" : "Extension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "404", + "s" : [ { + "value" : [ "/*\n@description: Returns the single extension (if present) on the given element with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","Extension","(","element"," " ] + }, { + "r" : "398", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "399", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "403", + "s" : [ { + "r" : "403", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "402", + "s" : [ { + "value" : [ "Extensions","(" ] + }, { + "r" : "400", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "401", + "s" : [ { + "value" : [ "url" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "403", + "locator" : "172:3-172:41", + "type" : "SingletonFrom", + "operand" : { + "localId" : "402", + "locator" : "172:18-172:41", + "name" : "Extensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "400", + "locator" : "172:29-172:35", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "401", + "locator" : "172:38-172:40", + "name" : "url", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "398", + "locator" : "171:35-171:41", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "399", + "locator" : "171:48-171:53", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "416", + "locator" : "180:1-183:10", + "name" : "ModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "416", + "s" : [ { + "value" : [ "/*\n@description: Returns any modifier extensions defined on the given resource with the specified url.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\n","define function ","ModifierExtensions","(","domainResource"," " ] + }, { + "r" : "405", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "406", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "415", + "s" : [ { + "r" : "415", + "s" : [ { + "s" : [ { + "r" : "408", + "s" : [ { + "r" : "407", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "412", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "412", + "s" : [ { + "r" : "410", + "s" : [ { + "r" : "409", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "410", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "411", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "414", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "413", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "415", + "locator" : "181:3-183:10", + "type" : "Query", + "source" : [ { + "localId" : "408", + "locator" : "181:3-181:36", + "alias" : "E", + "expression" : { + "localId" : "407", + "locator" : "181:3-181:34", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "412", + "locator" : "182:4-182:20", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "410", + "locator" : "182:10-182:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "411", + "locator" : "182:18-182:20", + "name" : "url", + "type" : "OperandRef" + } ] + }, + "return" : { + "localId" : "414", + "locator" : "183:3-183:10", + "expression" : { + "localId" : "413", + "locator" : "183:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "405", + "locator" : "180:51-180:64", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "406", + "locator" : "180:71-180:76", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "423", + "locator" : "190:1-191:56", + "name" : "ModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "423", + "s" : [ { + "value" : [ "/*\n@description: Returns the single modifier extension (if present) on the given resource with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","ModifierExtension","(","domainResource"," " ] + }, { + "r" : "417", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "418", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "422", + "s" : [ { + "r" : "422", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "421", + "s" : [ { + "value" : [ "ModifierExtensions","(" ] + }, { + "r" : "419", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "420", + "s" : [ { + "value" : [ "url" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "422", + "locator" : "191:3-191:56", + "type" : "SingletonFrom", + "operand" : { + "localId" : "421", + "locator" : "191:18-191:56", + "name" : "ModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "419", + "locator" : "191:37-191:50", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "420", + "locator" : "191:53-191:55", + "name" : "url", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "417", + "locator" : "190:50-190:63", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "418", + "locator" : "190:70-190:75", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "435", + "locator" : "198:1-201:10", + "name" : "ModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "435", + "s" : [ { + "value" : [ "/*\n@description: Returns any modifier extensions defined on the given element with the specified url.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","ModifierExtensions","(","element"," " ] + }, { + "r" : "424", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "425", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "434", + "s" : [ { + "r" : "434", + "s" : [ { + "s" : [ { + "r" : "427", + "s" : [ { + "r" : "426", + "s" : [ { + "s" : [ { + "value" : [ "element",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "431", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "431", + "s" : [ { + "r" : "429", + "s" : [ { + "r" : "428", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "429", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "430", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "433", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "432", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "434", + "locator" : "199:3-201:10", + "type" : "Query", + "source" : [ { + "localId" : "427", + "locator" : "199:3-199:29", + "alias" : "E", + "expression" : { + "localId" : "426", + "locator" : "199:3-199:27", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "431", + "locator" : "200:4-200:20", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "429", + "locator" : "200:10-200:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "430", + "locator" : "200:18-200:20", + "name" : "url", + "type" : "OperandRef" + } ] + }, + "return" : { + "localId" : "433", + "locator" : "201:3-201:10", + "expression" : { + "localId" : "432", + "locator" : "201:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "424", + "locator" : "198:44-198:58", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "425", + "locator" : "198:65-198:70", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "442", + "locator" : "208:1-209:49", + "name" : "ModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "442", + "s" : [ { + "value" : [ "/*\n@description: Returns the single modifier extension (if present) on the given element with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","ModifierExtension","(","element"," " ] + }, { + "r" : "436", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "437", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "441", + "s" : [ { + "r" : "441", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "440", + "s" : [ { + "value" : [ "ModifierExtensions","(" ] + }, { + "r" : "438", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "439", + "s" : [ { + "value" : [ "url" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "441", + "locator" : "209:3-209:49", + "type" : "SingletonFrom", + "operand" : { + "localId" : "440", + "locator" : "209:18-209:49", + "name" : "ModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "438", + "locator" : "209:37-209:43", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "439", + "locator" : "209:46-209:48", + "name" : "url", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "436", + "locator" : "208:43-208:57", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "437", + "locator" : "208:64-208:69", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "456", + "locator" : "216:1-219:10", + "name" : "BaseExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "456", + "s" : [ { + "value" : [ "/*\n@description: Returns any base-FHIR extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","BaseExtensions","(","domainResource"," " ] + }, { + "r" : "443", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "444", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "455", + "s" : [ { + "r" : "455", + "s" : [ { + "s" : [ { + "r" : "446", + "s" : [ { + "r" : "445", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "452", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "452", + "s" : [ { + "r" : "448", + "s" : [ { + "r" : "447", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "448", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "451", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "451", + "s" : [ { + "r" : "449", + "s" : [ { + "value" : [ "'http://hl7.org/fhir/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "450", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "454", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "453", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "455", + "locator" : "217:3-219:10", + "type" : "Query", + "source" : [ { + "localId" : "446", + "locator" : "217:3-217:28", + "alias" : "E", + "expression" : { + "localId" : "445", + "locator" : "217:3-217:26", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "452", + "locator" : "218:4-218:66", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "448", + "locator" : "218:10-218:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "451", + "locator" : "218:18-218:66", + "type" : "Concatenate", + "operand" : [ { + "localId" : "449", + "locator" : "218:19-218:60", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhir/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "450", + "locator" : "218:64-218:65", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "454", + "locator" : "219:3-219:10", + "expression" : { + "localId" : "453", + "locator" : "219:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "443", + "locator" : "216:47-216:60", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "444", + "locator" : "216:66-216:71", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "463", + "locator" : "226:1-227:51", + "name" : "BaseExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "463", + "s" : [ { + "value" : [ "/*\n@description: Returns the single base-FHIR extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","BaseExtension","(","domainResource"," " ] + }, { + "r" : "457", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "458", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "462", + "s" : [ { + "r" : "462", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "461", + "s" : [ { + "value" : [ "BaseExtensions","(" ] + }, { + "r" : "459", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "460", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "462", + "locator" : "227:3-227:51", + "type" : "SingletonFrom", + "operand" : { + "localId" : "461", + "locator" : "227:18-227:51", + "name" : "BaseExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "459", + "locator" : "227:33-227:46", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "460", + "locator" : "227:49-227:50", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "457", + "locator" : "226:46-226:59", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "458", + "locator" : "226:65-226:70", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "477", + "locator" : "234:1-237:10", + "name" : "BaseExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "477", + "s" : [ { + "value" : [ "/*\n@description: Returns any base-FHIR extensions defined on the given element with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","BaseExtensions","(","element"," " ] + }, { + "r" : "464", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "465", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "476", + "s" : [ { + "r" : "476", + "s" : [ { + "s" : [ { + "r" : "467", + "s" : [ { + "r" : "466", + "s" : [ { + "s" : [ { + "value" : [ "element",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "473", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "473", + "s" : [ { + "r" : "469", + "s" : [ { + "r" : "468", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "469", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "472", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "472", + "s" : [ { + "r" : "470", + "s" : [ { + "value" : [ "'http://hl7.org/fhir/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "471", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "475", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "474", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "476", + "locator" : "235:3-237:10", + "type" : "Query", + "source" : [ { + "localId" : "467", + "locator" : "235:3-235:21", + "alias" : "E", + "expression" : { + "localId" : "466", + "locator" : "235:3-235:19", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "473", + "locator" : "236:4-236:66", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "469", + "locator" : "236:10-236:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "472", + "locator" : "236:18-236:66", + "type" : "Concatenate", + "operand" : [ { + "localId" : "470", + "locator" : "236:19-236:60", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhir/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "471", + "locator" : "236:64-236:65", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "475", + "locator" : "237:3-237:10", + "expression" : { + "localId" : "474", + "locator" : "237:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "464", + "locator" : "234:40-234:46", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "465", + "locator" : "234:52-234:57", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "484", + "locator" : "244:1-245:44", + "name" : "BaseExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "484", + "s" : [ { + "value" : [ "/*\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","BaseExtension","(","element"," " ] + }, { + "r" : "478", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "479", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "483", + "s" : [ { + "r" : "483", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "482", + "s" : [ { + "value" : [ "BaseExtensions","(" ] + }, { + "r" : "480", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "481", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "483", + "locator" : "245:3-245:44", + "type" : "SingletonFrom", + "operand" : { + "localId" : "482", + "locator" : "245:18-245:44", + "name" : "BaseExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "480", + "locator" : "245:33-245:39", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "481", + "locator" : "245:42-245:43", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "478", + "locator" : "244:39-244:45", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "479", + "locator" : "244:51-244:56", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "498", + "locator" : "252:1-255:10", + "name" : "BaseModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "498", + "s" : [ { + "value" : [ "/*\n@description: Returns any base-FHIR modifier extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","BaseModifierExtensions","(","domainResource"," " ] + }, { + "r" : "485", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "486", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "497", + "s" : [ { + "r" : "497", + "s" : [ { + "s" : [ { + "r" : "488", + "s" : [ { + "r" : "487", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "494", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "494", + "s" : [ { + "r" : "490", + "s" : [ { + "r" : "489", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "490", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "493", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "493", + "s" : [ { + "r" : "491", + "s" : [ { + "value" : [ "'http://hl7.org/fhir/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "492", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "496", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "495", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "497", + "locator" : "253:3-255:10", + "type" : "Query", + "source" : [ { + "localId" : "488", + "locator" : "253:3-253:36", + "alias" : "E", + "expression" : { + "localId" : "487", + "locator" : "253:3-253:34", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "494", + "locator" : "254:4-254:66", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "490", + "locator" : "254:10-254:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "493", + "locator" : "254:18-254:66", + "type" : "Concatenate", + "operand" : [ { + "localId" : "491", + "locator" : "254:19-254:60", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhir/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "492", + "locator" : "254:64-254:65", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "496", + "locator" : "255:3-255:10", + "expression" : { + "localId" : "495", + "locator" : "255:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "485", + "locator" : "252:55-252:68", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "486", + "locator" : "252:74-252:79", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "505", + "locator" : "262:1-263:59", + "name" : "BaseModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "505", + "s" : [ { + "value" : [ "/*\n@description: Returns the single base-FHIR modifier extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","BaseModifierExtension","(","domainResource"," " ] + }, { + "r" : "499", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "500", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "504", + "s" : [ { + "r" : "504", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "503", + "s" : [ { + "value" : [ "BaseModifierExtensions","(" ] + }, { + "r" : "501", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "502", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "504", + "locator" : "263:3-263:59", + "type" : "SingletonFrom", + "operand" : { + "localId" : "503", + "locator" : "263:18-263:59", + "name" : "BaseModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "501", + "locator" : "263:41-263:54", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "502", + "locator" : "263:57-263:58", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "499", + "locator" : "262:54-262:67", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "500", + "locator" : "262:73-262:78", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "519", + "locator" : "270:1-273:10", + "name" : "BaseModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "519", + "s" : [ { + "value" : [ "/*\n@description: Returns any base-FHIR modifier extensions defined on the given element with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","BaseModifierExtensions","(","element"," " ] + }, { + "r" : "506", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "507", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "518", + "s" : [ { + "r" : "518", + "s" : [ { + "s" : [ { + "r" : "509", + "s" : [ { + "r" : "508", + "s" : [ { + "s" : [ { + "value" : [ "element",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "515", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "515", + "s" : [ { + "r" : "511", + "s" : [ { + "r" : "510", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "511", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "514", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "514", + "s" : [ { + "r" : "512", + "s" : [ { + "value" : [ "'http://hl7.org/fhir/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "513", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "517", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "516", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "518", + "locator" : "271:3-273:10", + "type" : "Query", + "source" : [ { + "localId" : "509", + "locator" : "271:3-271:29", + "alias" : "E", + "expression" : { + "localId" : "508", + "locator" : "271:3-271:27", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "515", + "locator" : "272:4-272:66", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "511", + "locator" : "272:10-272:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "514", + "locator" : "272:18-272:66", + "type" : "Concatenate", + "operand" : [ { + "localId" : "512", + "locator" : "272:19-272:60", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhir/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "513", + "locator" : "272:64-272:65", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "517", + "locator" : "273:3-273:10", + "expression" : { + "localId" : "516", + "locator" : "273:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "506", + "locator" : "270:48-270:62", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "507", + "locator" : "270:68-270:73", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "526", + "locator" : "280:1-281:52", + "name" : "BaseModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "526", + "s" : [ { + "value" : [ "/*\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","BaseModifierExtension","(","element"," " ] + }, { + "r" : "520", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "521", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "525", + "s" : [ { + "r" : "525", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "524", + "s" : [ { + "value" : [ "BaseModifierExtensions","(" ] + }, { + "r" : "522", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "523", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "525", + "locator" : "281:3-281:52", + "type" : "SingletonFrom", + "operand" : { + "localId" : "524", + "locator" : "281:18-281:52", + "name" : "BaseModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "522", + "locator" : "281:41-281:47", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "523", + "locator" : "281:50-281:51", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "520", + "locator" : "280:47-280:61", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "521", + "locator" : "280:67-280:72", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon.json new file mode 100644 index 0000000000..9ac68560c5 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRCommon.json @@ -0,0 +1,109 @@ +{ + "resourceType" : "Library", + "id" : "FHIRCommon", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onLogical Observation Identifiers, Names and Codes (LOINC)
depends-onSNOMED CT (all versions)
depends-onRoleCode
depends-onDiagnosis Role
depends-onhttp://terminology.hl7.org/CodeSystem/request-intent
depends-onMedicationRequest Category Codes
depends-onCondition Clinical Status Codes
depends-onConditionVerificationStatus
depends-onAllergyIntolerance Clinical Status Codes
depends-onAllergyIntolerance Verification Status
depends-onCQF Active Condition
depends-onCQF Inactive Condition

Parameters

Patientout01Patient

Contents

text/cql

/*\r\n@author: Bryn Rhodes\r\n@description: Common terminologies and functions used in FHIR-based CQL artifacts\r\n*/\r\nlibrary FHIRCommon version '4.0.1'\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude FHIRHelpers version '4.0.1'\r\n\r\ncodesystem "LOINC": 'http://loinc.org'\r\ncodesystem "SNOMEDCT": 'http://snomed.info/sct'\r\ncodesystem "RoleCode": 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'\r\ncodesystem "Diagnosis Role": 'http://terminology.hl7.org/CodeSystem/diagnosis-role'\r\ncodesystem "RequestIntent": 'http://terminology.hl7.org/CodeSystem/request-intent'\r\ncodesystem "MedicationRequestCategory": 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\r\ncodesystem "ConditionClinicalStatusCodes": 'http://terminology.hl7.org/CodeSystem/condition-clinical'\r\ncodesystem "ConditionVerificationStatusCodes": 'http://terminology.hl7.org/CodeSystem/condition-ver-status'\r\ncodesystem "AllergyIntoleranceClinicalStatusCodes": 'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical'\r\ncodesystem "AllergyIntoleranceVerificationStatusCodes": 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification'\r\n\r\n// For \r\nvalueset "Active Condition": 'http://fhir.org/guides/cqf/common/ValueSet/active-condition'\r\nvalueset "Inactive Condition": 'http://fhir.org/guides/cqf/common/ValueSet/inactive-condition'\r\n\r\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\r\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\r\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\r\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\r\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\r\n\r\n// Condition Clinical Status Codes - Consider value sets for these\r\ncode "active": 'active' from "ConditionClinicalStatusCodes"\r\ncode "recurrence": 'recurrence' from "ConditionClinicalStatusCodes"\r\ncode "relapse": 'relapse' from "ConditionClinicalStatusCodes"\r\ncode "inactive": 'inactive' from "ConditionClinicalStatusCodes"\r\ncode "remission": 'remission' from "ConditionClinicalStatusCodes"\r\ncode "resolved": 'resolved' from "ConditionClinicalStatusCodes"\r\n\r\n// Condition Verification Status Codes - Consider value sets for these\r\ncode "unconfirmed": 'unconfirmed' from ConditionVerificationStatusCodes\r\ncode "provisional": 'provisional' from ConditionVerificationStatusCodes\r\ncode "differential": 'differential' from ConditionVerificationStatusCodes\r\ncode "confirmed": 'confirmed' from ConditionVerificationStatusCodes\r\ncode "refuted": 'refuted' from ConditionVerificationStatusCodes\r\ncode "entered-in-error": 'entered-in-error' from ConditionVerificationStatusCodes\r\n\r\ncode "allergy-active": 'active' from "AllergyIntoleranceClinicalStatusCodes"\r\ncode "allergy-inactive": 'inactive' from "AllergyIntoleranceClinicalStatusCodes"\r\ncode "allergy-resolved": 'resolved' from "AllergyIntoleranceClinicalStatusCodes"\r\n\r\n// Allergy/Intolerance Verification Status Codes - Consider value sets for these\r\ncode "allergy-unconfirmed": 'unconfirmed' from AllergyIntoleranceVerificationStatusCodes\r\ncode "allergy-confirmed": 'confirmed' from AllergyIntoleranceVerificationStatusCodes\r\ncode "allergy-refuted": 'refuted' from AllergyIntoleranceVerificationStatusCodes\r\n\r\n// MedicationRequest Category Codes\r\ncode "Community": 'community' from "MedicationRequestCategory" display 'Community'\r\ncode "Discharge": 'discharge' from "MedicationRequestCategory" display 'Discharge'\r\n\r\n// Diagnosis Role Codes\r\ncode "AD": 'AD' from "Diagnosis Role" display 'Admission diagnosis'\r\ncode "DD": 'DD' from "Diagnosis Role" display 'Discharge diagnosis'\r\ncode "CC": 'CC' from "Diagnosis Role" display 'Chief complaint'\r\ncode "CM": 'CM' from "Diagnosis Role" display 'Comorbidity diagnosis'\r\ncode "pre-op": 'pre-op' from "Diagnosis Role" display 'pre-op diagnosis'\r\ncode "post-op": 'post-op' from "Diagnosis Role" display 'post-op diagnosis'\r\ncode "billing": 'billing' from "Diagnosis Role" display 'billing diagnosis'\r\n\r\ncontext Patient\r\n\r\n/*\r\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\r\n@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types\r\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\r\nrepresentations for timing-valued elements in FHIR, allowing this function to be used across any resource. NOTE: Due to the\r\ncomplexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used\r\nwith a Timing or String.\r\n*/\r\ndefine function ToInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):\r\n  case\r\n\t  when choice is FHIR.dateTime then\r\n    \tInterval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\r\n\t\twhen choice is FHIR.Period then\r\n  \t\tFHIRHelpers.ToInterval(choice as FHIR.Period)\r\n\t\twhen choice is FHIR.instant then\r\n\t\t\tInterval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\r\n\t\twhen choice is FHIR.Age then\r\n\t\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\r\n\t\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\r\n\t\twhen choice is FHIR.Range then\r\n\t\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\r\n\t\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\r\n\t\twhen choice is FHIR.Timing then\r\n\t\t  Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute a single interval from a Timing type')\r\n    when choice is FHIR.string then\r\n      Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\r\n\t\telse\r\n\t\t\tnull as Interval<DateTime>\r\n\tend\r\n\r\n/*\r\n@description: Returns an interval representing the normalized Abatement of a given Condition resource.\r\n@comment: NOTE: Due to the complexity of determining an interval from a String, this function will throw\r\na run-time exception if used with a Condition instance that has a String as the abatement value.\r\n*/\r\ndefine function ToAbatementInterval(condition Condition):\r\n\tif condition.abatement is FHIR.dateTime then\r\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\r\n\telse if condition.abatement is FHIR.Period then\r\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\r\n\telse if condition.abatement is FHIR.string then\r\n    Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\r\n\telse if condition.abatement is FHIR.Age then\r\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\r\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\r\n\telse if condition.abatement is FHIR.Range then\r\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),\r\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)\r\n\telse if condition.abatement is FHIR.boolean then\r\n\t  Interval[end of ToInterval(condition.onset), condition.recordedDate)\r\n\telse null\r\n\r\n/*\r\n@description: Returns an interval representing the normalized prevalence period of a given Condition resource.\r\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\r\nonset to abatement as specified in the given Condition.\r\n*/\r\ndefine function ToPrevalenceInterval(condition Condition):\r\nif condition.clinicalStatus ~ "active"\r\n  or condition.clinicalStatus ~ "recurrence"\r\n  or condition.clinicalStatus ~ "relapse" then\r\n  Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition)]\r\nelse\r\n  Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition))\r\n\r\n/*\r\n@description: Returns any extensions defined on the given resource with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function Extensions(domainResource DomainResource, url String):\r\n  domainResource.extension E\r\n\t  where E.url = url\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single extension (if present) on the given resource with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function Extension(domainResource DomainResource, url String):\r\n  singleton from "Extensions"(domainResource, url)\r\n\r\n/*\r\n@description: Returns any extensions defined on the given element with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function Extensions(element Element, url String):\r\n  element.extension E\r\n\t  where E.url = url\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single extension (if present) on the given element with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function Extension(element Element, url String):\r\n  singleton from Extensions(element, url)\r\n\r\n/*\r\n@description: Returns any modifier extensions defined on the given resource with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function ModifierExtensions(domainResource DomainResource, url String):\r\n  domainResource.modifierExtension E\r\n\t  where E.url = url\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single modifier extension (if present) on the given resource with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(domainResource DomainResource, url String):\r\n  singleton from ModifierExtensions(domainResource, url)\r\n\r\n/*\r\n@description: Returns any modifier extensions defined on the given element with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function ModifierExtensions(element BackboneElement, url String):\r\n  element.modifierExtension E\r\n\t  where E.url = url\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single modifier extension (if present) on the given element with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(element BackboneElement, url String):\r\n  singleton from ModifierExtensions(element, url)\r\n\r\n/*\r\n@description: Returns any base-FHIR extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseExtensions(domainResource DomainResource, id String):\r\n  domainResource.extension E\r\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseExtension(domainResource DomainResource, id String):\r\n  singleton from BaseExtensions(domainResource, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseExtensions(element Element, id String):\r\n  element.extension E\r\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseExtension(element Element, id String):\r\n  singleton from BaseExtensions(element, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR modifier extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseModifierExtensions(domainResource DomainResource, id String):\r\n  domainResource.modifierExtension E\r\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single base-FHIR modifier extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseModifierExtension(domainResource DomainResource, id String):\r\n  singleton from BaseModifierExtensions(domainResource, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR modifier extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseModifierExtensions(element BackboneElement, id String):\r\n  element.modifierExtension E\r\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseModifierExtension(element BackboneElement, id String):\r\n  singleton from BaseModifierExtensions(element, id)\r\n

Content not shown - (application/elm+xml, size = 202Kb)

Content not shown - (application/elm+json, size = 388Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon", + "version" : "0.1.0", + "name" : "FHIRCommon", + "title" : "FHIRCommon", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines terminologies and functions commonly used in FHIR-based CQL artifacts", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://loinc.org" + }, + { + "type" : "depends-on", + "resource" : "http://snomed.info/sct" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/v3-RoleCode" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/diagnosis-role" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/request-intent" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/medicationrequest-category" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/condition-clinical" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/condition-ver-status" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" + }, + { + "type" : "depends-on", + "resource" : "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/cqf/common/ValueSet/active-condition" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/cqf/common/ValueSet/inactive-condition" + }], + "parameter" : [{ + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoNCkBhdXRob3I6IEJyeW4gUmhvZGVzDQpAZGVzY3JpcHRpb246IENvbW1vbiB0ZXJtaW5vbG9naWVzIGFuZCBmdW5jdGlvbnMgdXNlZCBpbiBGSElSLWJhc2VkIENRTCBhcnRpZmFjdHMNCiovDQpsaWJyYXJ5IEZISVJDb21tb24gdmVyc2lvbiAnNC4wLjEnDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnDQoNCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnDQpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KY29kZXN5c3RlbSAiUm9sZUNvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1Sb2xlQ29kZScNCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vZGlhZ25vc2lzLXJvbGUnDQpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vcmVxdWVzdC1pbnRlbnQnDQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknDQpjb2Rlc3lzdGVtICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9jb25kaXRpb24tdmVyLXN0YXR1cycNCmNvZGVzeXN0ZW0gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9hbGxlcmd5aW50b2xlcmFuY2UtY2xpbmljYWwnDQpjb2Rlc3lzdGVtICJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS12ZXJpZmljYXRpb24nDQoNCi8vIEZvciANCnZhbHVlc2V0ICJBY3RpdmUgQ29uZGl0aW9uIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY3FmL2NvbW1vbi9WYWx1ZVNldC9hY3RpdmUtY29uZGl0aW9uJw0KdmFsdWVzZXQgIkluYWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NxZi9jb21tb24vVmFsdWVTZXQvaW5hY3RpdmUtY29uZGl0aW9uJw0KDQpjb2RlICJCaXJ0aGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnDQpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnDQpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJw0KY29kZSAiSUNVIjogJ0lDVScgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0ludGVuc2l2ZSBjYXJlIHVuaXQnDQpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJw0KDQovLyBDb25kaXRpb24gQ2xpbmljYWwgU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UNCmNvZGUgImFjdGl2ZSI6ICdhY3RpdmUnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZWN1cnJlbmNlIjogJ3JlY3VycmVuY2UnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZWxhcHNlIjogJ3JlbGFwc2UnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJpbmFjdGl2ZSI6ICdpbmFjdGl2ZScgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyINCmNvZGUgInJlbWlzc2lvbiI6ICdyZW1pc3Npb24nIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZXNvbHZlZCI6ICdyZXNvbHZlZCcgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyINCg0KLy8gQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZXMgLSBDb25zaWRlciB2YWx1ZSBzZXRzIGZvciB0aGVzZQ0KY29kZSAidW5jb25maXJtZWQiOiAndW5jb25maXJtZWQnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgInByb3Zpc2lvbmFsIjogJ3Byb3Zpc2lvbmFsJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJkaWZmZXJlbnRpYWwiOiAnZGlmZmVyZW50aWFsJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJjb25maXJtZWQiOiAnY29uZmlybWVkJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJyZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgImVudGVyZWQtaW4tZXJyb3IiOiAnZW50ZXJlZC1pbi1lcnJvcicgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2Rlcw0KDQpjb2RlICJhbGxlcmd5LWFjdGl2ZSI6ICdhY3RpdmUnIGZyb20gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJhbGxlcmd5LWluYWN0aXZlIjogJ2luYWN0aXZlJyBmcm9tICJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIg0KY29kZSAiYWxsZXJneS1yZXNvbHZlZCI6ICdyZXNvbHZlZCcgZnJvbSAiQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyINCg0KLy8gQWxsZXJneS9JbnRvbGVyYW5jZSBWZXJpZmljYXRpb24gU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UNCmNvZGUgImFsbGVyZ3ktdW5jb25maXJtZWQiOiAndW5jb25maXJtZWQnIGZyb20gQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgImFsbGVyZ3ktY29uZmlybWVkIjogJ2NvbmZpcm1lZCcgZnJvbSBBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2Rlcw0KY29kZSAiYWxsZXJneS1yZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCg0KLy8gTWVkaWNhdGlvblJlcXVlc3QgQ2F0ZWdvcnkgQ29kZXMNCmNvZGUgIkNvbW11bml0eSI6ICdjb21tdW5pdHknIGZyb20gIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiIGRpc3BsYXkgJ0NvbW11bml0eScNCmNvZGUgIkRpc2NoYXJnZSI6ICdkaXNjaGFyZ2UnIGZyb20gIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiIGRpc3BsYXkgJ0Rpc2NoYXJnZScNCg0KLy8gRGlhZ25vc2lzIFJvbGUgQ29kZXMNCmNvZGUgIkFEIjogJ0FEJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQWRtaXNzaW9uIGRpYWdub3NpcycNCmNvZGUgIkREIjogJ0REJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnRGlzY2hhcmdlIGRpYWdub3NpcycNCmNvZGUgIkNDIjogJ0NDJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQ2hpZWYgY29tcGxhaW50Jw0KY29kZSAiQ00iOiAnQ00nIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdDb21vcmJpZGl0eSBkaWFnbm9zaXMnDQpjb2RlICJwcmUtb3AiOiAncHJlLW9wJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAncHJlLW9wIGRpYWdub3NpcycNCmNvZGUgInBvc3Qtb3AiOiAncG9zdC1vcCcgZnJvbSAiRGlhZ25vc2lzIFJvbGUiIGRpc3BsYXkgJ3Bvc3Qtb3AgZGlhZ25vc2lzJw0KY29kZSAiYmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnYmlsbGluZyBkaWFnbm9zaXMnDQoNCmNvbnRleHQgUGF0aWVudA0KDQovKg0KQGRlc2NyaXB0aW9uOiBOb3JtYWxpemVzIGEgdmFsdWUgdGhhdCBpcyBhIGNob2ljZSBvZiB0aW1pbmctdmFsdWVkIHR5cGVzIHRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwNCkBjb21tZW50OiBOb3JtYWxpemVzIGEgY2hvaWNlIHR5cGUgb2YgRkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2QsIEZISVIuVGltaW5nLCBGSElSLmluc3RhbmNlLCBGSElSLnN0cmluZywgRkhJUi5BZ2UsIG9yIEZISVIuUmFuZ2UgdHlwZXMNCnRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwuIFRoaXMgc2VsZWN0aW9uIG9mIGNob2ljZSB0eXBlcyBpcyBhIHN1cGVyc2V0IG9mIHRoZSBtYWpvcml0eSBvZiBjaG9pY2UgdHlwZXMgdGhhdCBhcmUgdXNlZCBhcyBwb3NzaWJsZQ0KcmVwcmVzZW50YXRpb25zIGZvciB0aW1pbmctdmFsdWVkIGVsZW1lbnRzIGluIEZISVIsIGFsbG93aW5nIHRoaXMgZnVuY3Rpb24gdG8gYmUgdXNlZCBhY3Jvc3MgYW55IHJlc291cmNlLiBOT1RFOiBEdWUgdG8gdGhlDQpjb21wbGV4aXR5IG9mIGRldGVybWluaW5nIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgb3IgU3RyaW5nIHR5cGUsIHRoaXMgZnVuY3Rpb24gd2lsbCB0aHJvdyBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiBpdCBpcyB1c2VkDQp3aXRoIGEgVGltaW5nIG9yIFN0cmluZy4NCiovDQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChjaG9pY2UgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuUGVyaW9kLCBGSElSLlRpbWluZywgRkhJUi5pbnN0YW50LCBGSElSLnN0cmluZywgRkhJUi5BZ2UsIEZISVIuUmFuZ2U+KToNCiAgY2FzZQ0KCSAgd2hlbiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuDQogICAgCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0NCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5QZXJpb2QgdGhlbg0KICAJCUZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoY2hvaWNlIGFzIEZISVIuUGVyaW9kKQ0KCQl3aGVuIGNob2ljZSBpcyBGSElSLmluc3RhbnQgdGhlbg0KCQkJSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5pbnN0YW50KSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5pbnN0YW50KV0NCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5BZ2UgdGhlbg0KCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNob2ljZSBhcyBGSElSLkFnZSksDQoJCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNob2ljZSBhcyBGSElSLkFnZSkgKyAxIHllYXIpDQoJCXdoZW4gY2hvaWNlIGlzIEZISVIuUmFuZ2UgdGhlbg0KCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KChjaG9pY2UgYXMgRkhJUi5SYW5nZSkubG93KSwNCgkJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoKGNob2ljZSBhcyBGSElSLlJhbmdlKS5oaWdoKSArIDEgeWVhcikNCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5UaW1pbmcgdGhlbg0KCQkgIE1lc3NhZ2UobnVsbCBhcyBJbnRlcnZhbDxEYXRlVGltZT4sIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgdHlwZScpDQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5zdHJpbmcgdGhlbg0KICAgICAgTWVzc2FnZShudWxsIGFzIEludGVydmFsPERhdGVUaW1lPiwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZyB2YWx1ZScpDQoJCWVsc2UNCgkJCW51bGwgYXMgSW50ZXJ2YWw8RGF0ZVRpbWU+DQoJZW5kDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW4gaW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBub3JtYWxpemVkIEFiYXRlbWVudCBvZiBhIGdpdmVuIENvbmRpdGlvbiByZXNvdXJjZS4NCkBjb21tZW50OiBOT1RFOiBEdWUgdG8gdGhlIGNvbXBsZXhpdHkgb2YgZGV0ZXJtaW5pbmcgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZywgdGhpcyBmdW5jdGlvbiB3aWxsIHRocm93DQphIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiB1c2VkIHdpdGggYSBDb25kaXRpb24gaW5zdGFuY2UgdGhhdCBoYXMgYSBTdHJpbmcgYXMgdGhlIGFiYXRlbWVudCB2YWx1ZS4NCiovDQpkZWZpbmUgZnVuY3Rpb24gVG9BYmF0ZW1lbnRJbnRlcnZhbChjb25kaXRpb24gQ29uZGl0aW9uKToNCglpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuZGF0ZVRpbWUgdGhlbg0KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldDQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4NCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLlBlcmlvZCkNCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5zdHJpbmcgdGhlbg0KICAgIE1lc3NhZ2UobnVsbCBhcyBJbnRlcnZhbDxEYXRlVGltZT4sIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUnKQ0KCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLkFnZSB0aGVuDQoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLA0KCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpDQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUmFuZ2UgdGhlbg0KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5SYW5nZSkubG93KSwNCgkJICBGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLlJhbmdlKS5oaWdoKSArIDEgeWVhcikNCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4NCgkgIEludGVydmFsW2VuZCBvZiBUb0ludGVydmFsKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5yZWNvcmRlZERhdGUpDQoJZWxzZSBudWxsDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW4gaW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBub3JtYWxpemVkIHByZXZhbGVuY2UgcGVyaW9kIG9mIGEgZ2l2ZW4gQ29uZGl0aW9uIHJlc291cmNlLg0KQGNvbW1lbnQ6IFVzZXMgdGhlIFRvSW50ZXJ2YWwgYW5kIFRvQWJhdGVtZW50SW50ZXJ2YWwgZnVuY3Rpb25zIHRvIGRldGVybWluZSB0aGUgd2lkZXN0IHBvdGVudGlhbCBpbnRlcnZhbCBmcm9tDQpvbnNldCB0byBhYmF0ZW1lbnQgYXMgc3BlY2lmaWVkIGluIHRoZSBnaXZlbiBDb25kaXRpb24uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIFRvUHJldmFsZW5jZUludGVydmFsKGNvbmRpdGlvbiBDb25kaXRpb24pOg0KaWYgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gImFjdGl2ZSINCiAgb3IgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gInJlY3VycmVuY2UiDQogIG9yIGNvbmRpdGlvbi5jbGluaWNhbFN0YXR1cyB+ICJyZWxhcHNlIiB0aGVuDQogIEludGVydmFsW3N0YXJ0IG9mIFRvSW50ZXJ2YWwoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mIFRvQWJhdGVtZW50SW50ZXJ2YWwoY29uZGl0aW9uKV0NCmVsc2UNCiAgSW50ZXJ2YWxbc3RhcnQgb2YgVG9JbnRlcnZhbChjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgVG9BYmF0ZW1lbnRJbnRlcnZhbChjb25kaXRpb24pKQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlDQpDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9uKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gIkV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhlbGVtZW50IEVsZW1lbnQsIHVybCBTdHJpbmcpOg0KICBlbGVtZW50LmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZWxlbWVudCBFbGVtZW50LCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gRXh0ZW5zaW9ucyhlbGVtZW50LCB1cmwpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUNCkNRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOg0KICBkb21haW5SZXNvdXJjZS5tb2RpZmllckV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gTW9kaWZpZXJFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOg0KICBzaW5nbGV0b24gZnJvbSBNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UsIHVybCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZWxlbWVudCBCYWNrYm9uZUVsZW1lbnQsIHVybCBTdHJpbmcpOg0KICBlbGVtZW50Lm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gdXJsDQoJCXJldHVybiBFDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBtb2RpZmllciBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQ0KaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9uKGVsZW1lbnQgQmFja2JvbmVFbGVtZW50LCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQsIHVybCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gQmFzZUV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyBpZCkNCgkJcmV0dXJuIEUNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQ0KaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEJhc2VFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIHNpbmdsZXRvbiBmcm9tIEJhc2VFeHRlbnNpb25zKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlRXh0ZW5zaW9ucyhlbGVtZW50IEVsZW1lbnQsIGlkIFN0cmluZyk6DQogIGVsZW1lbnQuZXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlRXh0ZW5zaW9uKGVsZW1lbnQgRWxlbWVudCwgaWQgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gQmFzZUV4dGVuc2lvbnMoZWxlbWVudCwgaWQpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEJhc2VNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gQmFzZU1vZGlmaWVyRXh0ZW5zaW9uKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCBpZCBTdHJpbmcpOg0KICBzaW5nbGV0b24gZnJvbSBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQgQmFja2JvbmVFbGVtZW50LCBpZCBTdHJpbmcpOg0KICBlbGVtZW50Lm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb24oZWxlbWVudCBCYWNrYm9uZUVsZW1lbnQsIGlkIFN0cmluZyk6DQogIHNpbmdsZXRvbiBmcm9tIEJhc2VNb2RpZmllckV4dGVuc2lvbnMoZWxlbWVudCwgaWQpDQo=" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNTI2Ij4KICAgICAgICAgPGE6cz4vKgpAYXV0aG9yOiBCcnluIFJob2RlcwpAZGVzY3JpcHRpb246IENvbW1vbiB0ZXJtaW5vbG9naWVzIGFuZCBmdW5jdGlvbnMgdXNlZCBpbiBGSElSLWJhc2VkIENRTCBhcnRpZmFjdHMKKi8KbGlicmFyeSBGSElSQ29tbW9uIHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iRkhJUkNvbW1vbiIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiIHZlcnNpb249IjQuMC4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iNzoxLTc6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI5OjEtOTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjExOjEtMTE6MzgiIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7TE9JTkMmcXVvdDs6ICdodHRwOi8vbG9pbmMub3JnJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSIxMjoxLTEyOjQ3IiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iMTM6MS0xMzo3NCIgbmFtZT0iUm9sZUNvZGUiIGlkPSJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLVJvbGVDb2RlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtSb2xlQ29kZSZxdW90OzogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vdjMtUm9sZUNvZGUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjE0OjEtMTQ6ODMiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIxNToxLTE1OjgyIiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE2OjEtMTY6MTA2IiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSZxdW90OzogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjE3OjEtMTc6MTAxIiBuYW1lPSJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9jb25kaXRpb24tY2xpbmljYWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0NvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMmcXVvdDs6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2NvbmRpdGlvbi1jbGluaWNhbCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE4OjEtMTg6MTA3IiBuYW1lPSJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgaWQ9Imh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLXZlci1zdGF0dXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyZxdW90OzogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLXZlci1zdGF0dXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIxOToxLTE5OjExOSIgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyIgaWQ9Imh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vYWxsZXJneWludG9sZXJhbmNlLWNsaW5pY2FsIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyZxdW90OzogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vYWxsZXJneWludG9sZXJhbmNlLWNsaW5pY2FsJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjA6MS0yMDoxMjciIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9hbGxlcmd5aW50b2xlcmFuY2UtdmVyaWZpY2F0aW9uIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMmcXVvdDs6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS12ZXJpZmljYXRpb24nPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyMzoxLTIzOjkwIiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jcWYvY29tbW9uL1ZhbHVlU2V0L2FjdGl2ZS1jb25kaXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gRm9yCnZhbHVlc2V0ICZxdW90O0FjdGl2ZSBDb25kaXRpb24mcXVvdDs6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NxZi9jb21tb24vVmFsdWVTZXQvYWN0aXZlLWNvbmRpdGlvbic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjI0OjEtMjQ6OTQiIG5hbWU9IkluYWN0aXZlIENvbmRpdGlvbiIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY3FmL2NvbW1vbi9WYWx1ZVNldC9pbmFjdGl2ZS1jb25kaXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SW5hY3RpdmUgQ29uZGl0aW9uJnF1b3Q7OiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jcWYvY29tbW9uL1ZhbHVlU2V0L2luYWN0aXZlLWNvbmRpdGlvbic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI2OjEtMjY6NjEiIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaXJ0aGRhdGUmcXVvdDs6ICcyMTExMi04JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMT0lOQyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQmlydGggZGF0ZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI2OjM0LTI2OjQwIiBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMjc6MS0yNzo1NSIgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0RlYWQmcXVvdDs6ICc0MTkwOTkwMDknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NOT01FRENUJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdEZWFkJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjc6MzEtMjc6NDAiIG5hbWU9IlNOT01FRENUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIyODoxLTI4OjU2IiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0VSJnF1b3Q7OiAnRVInIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JvbGVDb2RlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdFbWVyZ2VuY3kgcm9vbSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjI4OjIyLTI4OjMxIiBuYW1lPSJSb2xlQ29kZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjk6MS0yOTo2MyIgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7SUNVJnF1b3Q7OiAnSUNVJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSb2xlQ29kZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjI5OjI0LTI5OjMzIiBuYW1lPSJSb2xlQ29kZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMzA6MS0zMDo2NSIgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaWxsaW5nJnF1b3Q7OiAnYmlsbGluZycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpbGxpbmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIzMDozMi0zMDo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjMzOjEtMzM6NTkiIG5hbWU9ImFjdGl2ZSIgaWQ9ImFjdGl2ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBDb25kaXRpb24gQ2xpbmljYWwgU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UKY29kZSAmcXVvdDthY3RpdmUmcXVvdDs6ICdhY3RpdmUnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIzMzozMC0zMzo1OSIgbmFtZT0iQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMzQ6MS0zNDo2NyIgbmFtZT0icmVjdXJyZW5jZSIgaWQ9InJlY3VycmVuY2UiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyOCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtyZWN1cnJlbmNlJnF1b3Q7OiAncmVjdXJyZW5jZScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjM0OjM4LTM0OjY3IiBuYW1lPSJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSIzNToxLTM1OjYxIiBuYW1lPSJyZWxhcHNlIiBpZD0icmVsYXBzZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3JlbGFwc2UmcXVvdDs6ICdyZWxhcHNlJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzU6MzItMzU6NjEiIG5hbWU9IkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjM2OjEtMzY6NjMiIG5hbWU9ImluYWN0aXZlIiBpZD0iaW5hY3RpdmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtpbmFjdGl2ZSZxdW90OzogJ2luYWN0aXZlJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMSIgbG9jYXRvcj0iMzY6MzQtMzY6NjMiIG5hbWU9IkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjM3OjEtMzc6NjUiIG5hbWU9InJlbWlzc2lvbiIgaWQ9InJlbWlzc2lvbiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3JlbWlzc2lvbiZxdW90OzogJ3JlbWlzc2lvbicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjM3OjM2LTM3OjY1IiBuYW1lPSJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSIzODoxLTM4OjYzIiBuYW1lPSJyZXNvbHZlZCIgaWQ9InJlc29sdmVkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7cmVzb2x2ZWQmcXVvdDs6ICdyZXNvbHZlZCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjM4OjM0LTM4OjYzIiBuYW1lPSJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI0MToxLTQxOjcxIiBuYW1lPSJ1bmNvbmZpcm1lZCIgaWQ9InVuY29uZmlybWVkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICA8YTpzPi8vIENvbmRpdGlvbiBWZXJpZmljYXRpb24gU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UKY29kZSAmcXVvdDt1bmNvbmZpcm1lZCZxdW90OzogJ3VuY29uZmlybWVkJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzciIGxvY2F0b3I9IjQxOjQwLTQxOjcxIiBuYW1lPSJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MCIgbG9jYXRvcj0iNDI6MS00Mjo3MSIgbmFtZT0icHJvdmlzaW9uYWwiIGlkPSJwcm92aXNpb25hbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3Byb3Zpc2lvbmFsJnF1b3Q7OiAncHJvdmlzaW9uYWwnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNDI6NDAtNDI6NzEiIG5hbWU9IkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSI0MzoxLTQzOjczIiBuYW1lPSJkaWZmZXJlbnRpYWwiIGlkPSJkaWZmZXJlbnRpYWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtkaWZmZXJlbnRpYWwmcXVvdDs6ICdkaWZmZXJlbnRpYWwnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDM6NDItNDM6NzMiIG5hbWU9IkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI0NDoxLTQ0OjY3IiBuYW1lPSJjb25maXJtZWQiIGlkPSJjb25maXJtZWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtjb25maXJtZWQmcXVvdDs6ICdjb25maXJtZWQnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDQ6MzYtNDQ6NjciIG5hbWU9IkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSI0NToxLTQ1OjYzIiBuYW1lPSJyZWZ1dGVkIiBpZD0icmVmdXRlZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3JlZnV0ZWQmcXVvdDs6ICdyZWZ1dGVkJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjQ1OjMyLTQ1OjYzIiBuYW1lPSJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0OCIgbG9jYXRvcj0iNDY6MS00Njo4MSIgbmFtZT0iZW50ZXJlZC1pbi1lcnJvciIgaWQ9ImVudGVyZWQtaW4tZXJyb3IiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtlbnRlcmVkLWluLWVycm9yJnF1b3Q7OiAnZW50ZXJlZC1pbi1lcnJvcicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSI0Njo1MC00Njo4MSIgbmFtZT0iQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjQ4OjEtNDg6NzYiIG5hbWU9ImFsbGVyZ3ktYWN0aXZlIiBpZD0iYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7YWxsZXJneS1hY3RpdmUmcXVvdDs6ICdhY3RpdmUnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSI0ODozOC00ODo3NiIgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MiIgbG9jYXRvcj0iNDk6MS00OTo4MCIgbmFtZT0iYWxsZXJneS1pbmFjdGl2ZSIgaWQ9ImluYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7YWxsZXJneS1pbmFjdGl2ZSZxdW90OzogJ2luYWN0aXZlJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI1MSIgbG9jYXRvcj0iNDk6NDItNDk6ODAiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjUwOjEtNTA6ODAiIG5hbWU9ImFsbGVyZ3ktcmVzb2x2ZWQiIGlkPSJyZXNvbHZlZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O2FsbGVyZ3ktcmVzb2x2ZWQmcXVvdDs6ICdyZXNvbHZlZCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNTMiIGxvY2F0b3I9IjUwOjQyLTUwOjgwIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI1MzoxLTUzOjg4IiBuYW1lPSJhbGxlcmd5LXVuY29uZmlybWVkIiBpZD0idW5jb25maXJtZWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gQWxsZXJneS9JbnRvbGVyYW5jZSBWZXJpZmljYXRpb24gU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UKY29kZSAmcXVvdDthbGxlcmd5LXVuY29uZmlybWVkJnF1b3Q7OiAndW5jb25maXJtZWQnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI1NSIgbG9jYXRvcj0iNTM6NDgtNTM6ODgiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSI1NDoxLTU0Ojg0IiBuYW1lPSJhbGxlcmd5LWNvbmZpcm1lZCIgaWQ9ImNvbmZpcm1lZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O2FsbGVyZ3ktY29uZmlybWVkJnF1b3Q7OiAnY29uZmlybWVkJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNTciIGxvY2F0b3I9IjU0OjQ0LTU0Ojg0IiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MCIgbG9jYXRvcj0iNTU6MS01NTo4MCIgbmFtZT0iYWxsZXJneS1yZWZ1dGVkIiBpZD0icmVmdXRlZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O2FsbGVyZ3ktcmVmdXRlZCZxdW90OzogJ3JlZnV0ZWQnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICAgICA8YTpzPkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI1OSIgbG9jYXRvcj0iNTU6NDAtNTU6ODAiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI1ODoxLTU4OjgyIiBuYW1lPSJDb21tdW5pdHkiIGlkPSJjb21tdW5pdHkiIGRpc3BsYXk9IkNvbW11bml0eSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBNZWRpY2F0aW9uUmVxdWVzdCBDYXRlZ29yeSBDb2Rlcwpjb2RlICZxdW90O0NvbW11bml0eSZxdW90OzogJ2NvbW11bml0eScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQ29tbXVuaXR5JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI2MSIgbG9jYXRvcj0iNTg6MzYtNTg6NjIiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjU5OjEtNTk6ODIiIG5hbWU9IkRpc2NoYXJnZSIgaWQ9ImRpc2NoYXJnZSIgZGlzcGxheT0iRGlzY2hhcmdlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7RGlzY2hhcmdlJnF1b3Q7OiAnZGlzY2hhcmdlJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdEaXNjaGFyZ2UnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjYzIiBsb2NhdG9yPSI1OTozNi01OTo2MiIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNjI6MS02Mjo2NyIgbmFtZT0iQUQiIGlkPSJBRCIgZGlzcGxheT0iQWRtaXNzaW9uIGRpYWdub3NpcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBEaWFnbm9zaXMgUm9sZSBDb2Rlcwpjb2RlICZxdW90O0FEJnF1b3Q7OiAnQUQnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RpYWdub3NpcyBSb2xlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdBZG1pc3Npb24gZGlhZ25vc2lzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI2NSIgbG9jYXRvcj0iNjI6MjItNjI6MzciIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI2MzoxLTYzOjY3IiBuYW1lPSJERCIgaWQ9IkREIiBkaXNwbGF5PSJEaXNjaGFyZ2UgZGlhZ25vc2lzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7REQmcXVvdDs6ICdERCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0Rpc2NoYXJnZSBkaWFnbm9zaXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI2MzoyMi02MzozNyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjY0OjEtNjQ6NjMiIG5hbWU9IkNDIiBpZD0iQ0MiIGRpc3BsYXk9IkNoaWVmIGNvbXBsYWludCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0NDJnF1b3Q7OiAnQ0MnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RpYWdub3NpcyBSb2xlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdDaGllZiBjb21wbGFpbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSI2NDoyMi02NDozNyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjY1OjEtNjU6NjkiIG5hbWU9IkNNIiBpZD0iQ00iIGRpc3BsYXk9IkNvbW9yYmlkaXR5IGRpYWdub3NpcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0NNJnF1b3Q7OiAnQ00nIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RpYWdub3NpcyBSb2xlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdDb21vcmJpZGl0eSBkaWFnbm9zaXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSI2NToyMi02NTozNyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjY2OjEtNjY6NzIiIG5hbWU9InByZS1vcCIgaWQ9InByZS1vcCIgZGlzcGxheT0icHJlLW9wIGRpYWdub3NpcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3ByZS1vcCZxdW90OzogJ3ByZS1vcCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ3ByZS1vcCBkaWFnbm9zaXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI2NjozMC02Njo0NSIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzYiIGxvY2F0b3I9IjY3OjEtNjc6NzUiIG5hbWU9InBvc3Qtb3AiIGlkPSJwb3N0LW9wIiBkaXNwbGF5PSJwb3N0LW9wIGRpYWdub3NpcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O3Bvc3Qtb3AmcXVvdDs6ICdwb3N0LW9wJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaWFnbm9zaXMgUm9sZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAncG9zdC1vcCBkaWFnbm9zaXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSI2NzozMi02Nzo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjY4OjEtNjg6NzUiIG5hbWU9ImJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJiaWxsaW5nIGRpYWdub3NpcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O2JpbGxpbmcmcXVvdDs6ICdiaWxsaW5nJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaWFnbm9zaXMgUm9sZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnYmlsbGluZyBkaWFnbm9zaXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI2ODozMi02ODo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjcwOjEtNzA6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcwOjEtNzA6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTMiIGxvY2F0b3I9IjgwOjEtMTAwOjQiIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBOb3JtYWxpemVzIGEgdmFsdWUgdGhhdCBpcyBhIGNob2ljZSBvZiB0aW1pbmctdmFsdWVkIHR5cGVzIHRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwKQGNvbW1lbnQ6IE5vcm1hbGl6ZXMgYSBjaG9pY2UgdHlwZSBvZiBGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZCwgRkhJUi5UaW1pbmcsIEZISVIuaW5zdGFuY2UsIEZISVIuc3RyaW5nLCBGSElSLkFnZSwgb3IgRkhJUi5SYW5nZSB0eXBlcwp0byBhbiBlcXVpdmFsZW50IGludGVydmFsLiBUaGlzIHNlbGVjdGlvbiBvZiBjaG9pY2UgdHlwZXMgaXMgYSBzdXBlcnNldCBvZiB0aGUgbWFqb3JpdHkgb2YgY2hvaWNlIHR5cGVzIHRoYXQgYXJlIHVzZWQgYXMgcG9zc2libGUKcmVwcmVzZW50YXRpb25zIGZvciB0aW1pbmctdmFsdWVkIGVsZW1lbnRzIGluIEZISVIsIGFsbG93aW5nIHRoaXMgZnVuY3Rpb24gdG8gYmUgdXNlZCBhY3Jvc3MgYW55IHJlc291cmNlLiBOT1RFOiBEdWUgdG8gdGhlCmNvbXBsZXhpdHkgb2YgZGV0ZXJtaW5pbmcgYSBzaW5nbGUgaW50ZXJ2YWwgZnJvbSBhIFRpbWluZyBvciBTdHJpbmcgdHlwZSwgdGhpcyBmdW5jdGlvbiB3aWxsIHRocm93IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlmIGl0IGlzIHVzZWQKd2l0aCBhIFRpbWluZyBvciBTdHJpbmcuCiovCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKGNob2ljZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2hvaWNlJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVGltaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuaW5zdGFudDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnN0cmluZzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZQoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5pbnN0YW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5pbnN0YW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5pbnN0YW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCQkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKCQkJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjEgeWVhcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SYW5nZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCQkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG93PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCQkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aGlnaDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MSB5ZWFyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlRpbWluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCQkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWVzc2FnZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+bnVsbCBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4sIHRydWUsIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRXJyb3InPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nQ2Fubm90IGNvbXB1dGUgYSBzaW5nbGUgaW50ZXJ2YWwgZnJvbSBhIFRpbWluZyB0eXBlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuc3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1lc3NhZ2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPm51bGwgYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+LCB0cnVlLCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicxJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Vycm9yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Nhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCWVsc2UKCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDgiPm51bGwgYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZW5kPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSI4MTozLTEwMDo0IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjgyOjQtODM6MTExIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iODkiIGxvY2F0b3I9IjgyOjktODI6MzEiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI4Mjo5LTgyOjE0IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODgiIGxvY2F0b3I9IjgyOjE5LTgyOjMxIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTAwIiBsb2NhdG9yPSI4Mzo2LTgzOjExMSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI4MzoxNS04Mzo2MSIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MyIgbG9jYXRvcj0iODM6MzgtODM6NjAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI4MzozOC04Mzo0MyIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSI4Mzo0OC04Mzo2MCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI5OSIgbG9jYXRvcj0iODM6NjQtODM6MTEwIiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk4IiBsb2NhdG9yPSI4Mzo4Ny04MzoxMDkiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk2IiBsb2NhdG9yPSI4Mzo4Ny04Mzo5MiIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI4Mzo5Ny04MzoxMDkiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjExMCIgbG9jYXRvcj0iODQ6My04NTo0OSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iODQ6OC04NDoyOCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI4NDo4LTg0OjEzIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAzIiBsb2NhdG9yPSI4NDoxOC04NDoyOCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMDkiIGxvY2F0b3I9Ijg1OjUtODU6NDkiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA4IiBsb2NhdG9yPSI4NToyOC04NTo0OCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA2IiBsb2NhdG9yPSI4NToyOC04NTozMyIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNyIgbG9jYXRvcj0iODU6MzgtODU6NDgiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTI1IiBsb2NhdG9yPSI4NjozLTg3OjEwNyI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iODY6OC04NjoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI4Njo4LTg2OjEzIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTEyIiBsb2NhdG9yPSI4NjoxOC04NjoyOSIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTI0IiBsb2NhdG9yPSI4Nzo0LTg3OjEwNyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iODc6MTMtODc6NTgiIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI4NzozNi04Nzo1NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI4NzozNi04Nzo0MSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iODc6NDYtODc6NTciIG5hbWU9ImZoaXI6aW5zdGFudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxMjMiIGxvY2F0b3I9Ijg3OjYxLTg3OjEwNiIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjIiIGxvY2F0b3I9Ijg3Ojg0LTg3OjEwNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSI4Nzo4NC04Nzo4OSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iODc6OTQtODc6MTA1IiBuYW1lPSJmaGlyOmluc3RhbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE1MiIgbG9jYXRvcj0iODg6My05MDo5NyI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iODg6OC04ODoyNSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSI4ODo4LTg4OjEzIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI3IiBsb2NhdG9yPSI4ODoxOC04ODoyNSIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iODk6NS05MDo5NyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxMzgiIGxvY2F0b3I9Ijg5OjE0LTg5Ojk1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMyIiBsb2NhdG9yPSI4OToxNC04OTo1MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iODk6MzMtODk6NDkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzAiIGxvY2F0b3I9Ijg5OjMzLTg5OjM5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM3IiBsb2NhdG9yPSI4OTo1NC04OTo5NSIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzYiIGxvY2F0b3I9Ijg5Ojc3LTg5Ojk0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzQiIGxvY2F0b3I9Ijg5Ojc3LTg5OjgyIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI4OTo4Ny04OTo5NCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxNTAiIGxvY2F0b3I9IjkwOjYtOTA6OTYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDgiIGxvY2F0b3I9IjkwOjYtOTA6ODciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjkwOjYtOTA6NDIiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDEiIGxvY2F0b3I9IjkwOjI1LTkwOjQxIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQwIiBsb2NhdG9yPSI5MDoyNS05MDozMSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iOTA6NDYtOTA6ODciIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI5MDo2OS05MDo4NiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI5MDo2OS05MDo3NCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE0NSIgbG9jYXRvcj0iOTA6NzktOTA6ODYiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iOTA6OTEtOTA6OTYiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgPGxvd0Nsb3NlZEV4cHJlc3Npb24gcGF0aD0ibG93Q2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iODk6NS05MDo5NyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxMzgiIGxvY2F0b3I9Ijg5OjE0LTg5Ojk1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMyIiBsb2NhdG9yPSI4OToxNC04OTo1MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iODk6MzMtODk6NDkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzAiIGxvY2F0b3I9Ijg5OjMzLTg5OjM5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM3IiBsb2NhdG9yPSI4OTo1NC04OTo5NSIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzYiIGxvY2F0b3I9Ijg5Ojc3LTg5Ojk0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzQiIGxvY2F0b3I9Ijg5Ojc3LTg5OjgyIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI4OTo4Ny04OTo5NCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxNTAiIGxvY2F0b3I9IjkwOjYtOTA6OTYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDgiIGxvY2F0b3I9IjkwOjYtOTA6ODciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjkwOjYtOTA6NDIiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDEiIGxvY2F0b3I9IjkwOjI1LTkwOjQxIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQwIiBsb2NhdG9yPSI5MDoyNS05MDozMSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iOTA6NDYtOTA6ODciIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI5MDo2OS05MDo4NiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI5MDo2OS05MDo3NCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE0NSIgbG9jYXRvcj0iOTA6NzktOTA6ODYiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iOTA6OTEtOTA6OTYiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSI4OTo1LTkwOjk3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iODk6MTQtODk6OTUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzIiIGxvY2F0b3I9Ijg5OjE0LTg5OjUwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI4OTozMy04OTo0OSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iODk6MzMtODk6MzkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzciIGxvY2F0b3I9Ijg5OjU0LTg5Ojk1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iODk6NzctODk6OTQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNCIgbG9jYXRvcj0iODk6NzctODk6ODIiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzUiIGxvY2F0b3I9Ijg5Ojg3LTg5Ojk0IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iOTA6Ni05MDo5NiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iOTA6Ni05MDo4NyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iOTA6Ni05MDo0MiIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MSIgbG9jYXRvcj0iOTA6MjUtOTA6NDEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjkwOjI1LTkwOjMxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSI5MDo0Ni05MDo4NyIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjkwOjY5LTkwOjg2IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjkwOjY5LTkwOjc0IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSI5MDo3OS05MDo4NiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI5MDo5MS05MDo5NiIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSI4OTo1LTkwOjk3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iODk6MTQtODk6OTUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzIiIGxvY2F0b3I9Ijg5OjE0LTg5OjUwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI4OTozMy04OTo0OSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iODk6MzMtODk6MzkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzciIGxvY2F0b3I9Ijg5OjU0LTg5Ojk1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iODk6NzctODk6OTQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNCIgbG9jYXRvcj0iODk6NzctODk6ODIiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzUiIGxvY2F0b3I9Ijg5Ojg3LTg5Ojk0IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iOTA6Ni05MDo5NiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iOTA6Ni05MDo4NyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iOTA6Ni05MDo0MiIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MSIgbG9jYXRvcj0iOTA6MjUtOTA6NDEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjkwOjI1LTkwOjMxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSI5MDo0Ni05MDo4NyIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjkwOjY5LTkwOjg2IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjkwOjY5LTkwOjc0IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSI5MDo3OS05MDo4NiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI5MDo5MS05MDo5NiIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxODEiIGxvY2F0b3I9IjkxOjMtOTM6MTA2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTU1IiBsb2NhdG9yPSI5MTo4LTkxOjI3IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjkxOjgtOTE6MTMiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjkxOjE4LTkxOjI3IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODAiIGxvY2F0b3I9IjkyOjUtOTM6MTA2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iOTI6MTQtOTI6MTAzIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSI5MjoxNC05Mjo1MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OCIgbG9jYXRvcj0iOTI6MzMtOTI6NDkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTciIGxvY2F0b3I9IjkyOjMzLTkyOjM5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSI5Mjo1NC05MjoxMDMiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSI5Mjo3Ny05MjoxMDIiIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjMiIGxvY2F0b3I9IjkyOjc3LTkyOjk4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjkyOjc4LTkyOjgzIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSI5Mjo4OC05Mjo5NyIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxNzkiIGxvY2F0b3I9IjkzOjYtOTM6MTA1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSI5Mzo2LTkzOjk2IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTcwIiBsb2NhdG9yPSI5Mzo2LTkzOjQyIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY5IiBsb2NhdG9yPSI5MzoyNS05Mzo0MSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iOTM6MjUtOTM6MzEiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjkzOjQ2LTkzOjk2IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NSIgbG9jYXRvcj0iOTM6NjktOTM6OTUiIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSI5Mzo2OS05Mzo5MCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTcyIiBsb2NhdG9yPSI5Mzo3MC05Mzo3NSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iOTM6ODAtOTM6ODkiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3OCIgbG9jYXRvcj0iOTM6MTAwLTkzOjEwNSIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSI5Mjo1LTkzOjEwNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjkyOjE0LTkyOjEwMyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iOTI6MTQtOTI6NTAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTgiIGxvY2F0b3I9IjkyOjMzLTkyOjQ5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSI5MjozMy05MjozOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NSIgbG9jYXRvcj0iOTI6NTQtOTI6MTAzIiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NCIgbG9jYXRvcj0iOTI6NzctOTI6MTAyIiBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSI5Mjo3Ny05Mjo5OCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYxIiBsb2NhdG9yPSI5Mjo3OC05Mjo4MyIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iOTI6ODgtOTI6OTciIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSI5Mzo2LTkzOjEwNSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iOTM6Ni05Mzo5NiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iOTM6Ni05Mzo0MiIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iOTM6MjUtOTM6NDEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjkzOjI1LTkzOjMxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSI5Mzo0Ni05Mzo5NiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjkzOjY5LTkzOjk1IiBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iOTM6NjktOTM6OTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iOTM6NzAtOTM6NzUiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjkzOjgwLTkzOjg5IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjkzOjEwMC05MzoxMDUiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSI5Mjo1LTkzOjEwNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjkyOjE0LTkyOjEwMyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iOTI6MTQtOTI6NTAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTgiIGxvY2F0b3I9IjkyOjMzLTkyOjQ5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSI5MjozMy05MjozOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NSIgbG9jYXRvcj0iOTI6NTQtOTI6MTAzIiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NCIgbG9jYXRvcj0iOTI6NzctOTI6MTAyIiBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSI5Mjo3Ny05Mjo5OCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYxIiBsb2NhdG9yPSI5Mjo3OC05Mjo4MyIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iOTI6ODgtOTI6OTciIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSI5Mzo2LTkzOjEwNSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iOTM6Ni05Mzo5NiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iOTM6Ni05Mzo0MiIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iOTM6MjUtOTM6NDEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjkzOjI1LTkzOjMxIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSI5Mzo0Ni05Mzo5NiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjkzOjY5LTkzOjk1IiBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iOTM6NjktOTM6OTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iOTM6NzAtOTM6NzUiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjkzOjgwLTkzOjg5IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjkzOjEwMC05MzoxMDUiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4MCIgbG9jYXRvcj0iOTI6NS05MzoxMDYiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSI5MjoxNC05MjoxMDMiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTkiIGxvY2F0b3I9IjkyOjE0LTkyOjUwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSI5MjozMy05Mjo0OSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iOTI6MzMtOTI6MzkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjkyOjU0LTkyOjEwMyIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjQiIGxvY2F0b3I9IjkyOjc3LTkyOjEwMiIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iOTI6NzctOTI6OTgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iOTI6NzgtOTI6ODMiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNjIiIGxvY2F0b3I9IjkyOjg4LTkyOjk3IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjE3OSIgbG9jYXRvcj0iOTM6Ni05MzoxMDUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzciIGxvY2F0b3I9IjkzOjYtOTM6OTYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjkzOjYtOTM6NDIiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjkzOjI1LTkzOjQxIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSI5MzoyNS05MzozMSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NiIgbG9jYXRvcj0iOTM6NDYtOTM6OTYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc1IiBsb2NhdG9yPSI5Mzo2OS05Mzo5NSIgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjkzOjY5LTkzOjkwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzIiIGxvY2F0b3I9IjkzOjcwLTkzOjc1IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSI5Mzo4MC05Mzo4OSIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc4IiBsb2NhdG9yPSI5MzoxMDAtOTM6MTA1IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iOTQ6My05NToxMTQiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxODQiIGxvY2F0b3I9Ijk0OjgtOTQ6MjgiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MiIgbG9jYXRvcj0iOTQ6OC05NDoxMyIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iOTQ6MTgtOTQ6MjgiIG5hbWU9ImZoaXI6VGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTkzIiBsb2NhdG9yPSI5NTo1LTk1OjExNCIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iOTU6MTMtOTU6MzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iOTU6MTMtOTU6MTYiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSI5NToyMS05NTozOCIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSI5NTozMC05NTozNyIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSI5NTo0MS05NTo0NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSIxOTAiIGxvY2F0b3I9Ijk1OjQ3LTk1OjQ5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPHNldmVyaXR5IGxvY2FsSWQ9IjE5MSIgbG9jYXRvcj0iOTU6NTItOTU6NTgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJFcnJvciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSI5NTo2MS05NToxMTMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDYW5ub3QgY29tcHV0ZSBhIHNpbmdsZSBpbnRlcnZhbCBmcm9tIGEgVGltaW5nIHR5cGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iOTY6NS05NzoxMTEiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxOTciIGxvY2F0b3I9Ijk2OjEwLTk2OjMwIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTUiIGxvY2F0b3I9Ijk2OjEwLTk2OjE1IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSI5NjoyMC05NjozMCIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMDYiIGxvY2F0b3I9Ijk3OjctOTc6MTExIiB4c2k6dHlwZT0iTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSI5NzoxNS05Nzo0MCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk4IiBsb2NhdG9yPSI5NzoxNS05NzoxOCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMDAiIGxvY2F0b3I9Ijk3OjIzLTk3OjQwIiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9Ijk3OjMyLTk3OjM5IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyMDIiIGxvY2F0b3I9Ijk3OjQzLTk3OjQ2IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2FsSWQ9IjIwMyIgbG9jYXRvcj0iOTc6NDktOTc6NTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iMjA0IiBsb2NhdG9yPSI5Nzo1NC05Nzo2MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhbElkPSIyMDUiIGxvY2F0b3I9Ijk3OjYzLTk3OjExMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSI5OTo0LTk5OjI5IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDgiIGxvY2F0b3I9Ijk5OjQtOTk6NyIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTAiIGxvY2F0b3I9Ijk5OjEyLTk5OjI5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIyMDkiIGxvY2F0b3I9Ijk5OjIxLTk5OjI4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI4MDozNS04MDoxMzAiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iODA6NDItODA6NTQiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI4MCIgbG9jYXRvcj0iODA6NTctODA6NjciIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iODEiIGxvY2F0b3I9IjgwOjcwLTgwOjgwIiBuYW1lPSJmaGlyOlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjgyIiBsb2NhdG9yPSI4MDo4My04MDo5NCIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iODMiIGxvY2F0b3I9IjgwOjk3LTgwOjEwNyIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI4NCIgbG9jYXRvcj0iODA6MTEwLTgwOjExNyIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI4NSIgbG9jYXRvcj0iODA6MTIwLTgwOjEyOSIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzMyIgbG9jYXRvcj0iMTA3OjEtMTIyOjEwIiBuYW1lPSJUb0FiYXRlbWVudEludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMzMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbiBpbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIG5vcm1hbGl6ZWQgQWJhdGVtZW50IG9mIGEgZ2l2ZW4gQ29uZGl0aW9uIHJlc291cmNlLgpAY29tbWVudDogTk9URTogRHVlIHRvIHRoZSBjb21wbGV4aXR5IG9mIGRldGVybWluaW5nIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcsIHRoaXMgZnVuY3Rpb24gd2lsbCB0aHJvdwphIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiB1c2VkIHdpdGggYSBDb25kaXRpb24gaW5zdGFuY2UgdGhhdCBoYXMgYSBTdHJpbmcgYXMgdGhlIGFiYXRlbWVudCB2YWx1ZS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvQWJhdGVtZW50SW50ZXJ2YWwoY29uZGl0aW9uIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlVGltZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnN0cmluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWVzc2FnZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+bnVsbCBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4sIHRydWUsIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRXJyb3InPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nQ2Fubm90IGNvbXB1dGUgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZyB2YWx1ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4xIHllYXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SYW5nZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG93PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aGlnaDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MSB5ZWFyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuYm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlY29yZGVkRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgoJZWxzZSBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzIiIGxvY2F0b3I9IjEwODoyLTEyMjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjEwODo1LTEwODo0MCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxMDg6NS0xMDg6MjMiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjEwODo1LTEwODoxMyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxMDg6MjgtMTA4OjQwIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjEwOTo0LTEwOToxMzUiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjEwOToxMy0xMDk6NzIiIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIzIiBsb2NhdG9yPSIxMDk6MzYtMTA5OjcxIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjEiIGxvY2F0b3I9IjEwOTozNi0xMDk6NTQiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjEwOTozNi0xMDk6NDQiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iMTA5OjU5LTEwOTo3MSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjEwOTo3NS0xMDk6MTM0IiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMTA5Ojk4LTEwOToxMzMiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMTA5Ojk4LTEwOToxMTYiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjEwOTo5OC0xMDk6MTA2IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjEwOToxMjEtMTA5OjEzMyIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzMzEiIGxvY2F0b3I9IjExMDo3LTEyMjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjExMDoxMC0xMTA6NDMiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTEwOjEwLTExMDoyOCIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMTEwOjEwLTExMDoxOCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIxMTA6MzMtMTEwOjQzIiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIxMTE6NC0xMTE6NjEiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMTE6MjctMTExOjYwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjExMToyNy0xMTE6NDUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjExMToyNy0xMTE6MzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTExOjUwLTExMTo2MCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjMzMCIgbG9jYXRvcj0iMTEyOjctMTIyOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMTEyOjEwLTExMjo0MyIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSIxMTI6MTAtMTEyOjI4IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIxMTI6MTAtMTEyOjE4IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjExMjozMy0xMTI6NDMiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNTQiIGxvY2F0b3I9IjExMzo1LTExMzoxMDkiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNDkiIGxvY2F0b3I9IjExMzoxMy0xMTM6MzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTEzOjEzLTExMzoxNiIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjExMzoyMS0xMTM6MzgiIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTEzOjMwLTExMzozNyIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSIxMTM6NDEtMTEzOjQ0IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iMTEzOjQ3LTExMzo0OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxzZXZlcml0eSBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjExMzo1Mi0xMTM6NTgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJFcnJvciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxMTM6NjEtMTEzOjEwOCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzI5IiBsb2NhdG9yPSIxMTQ6Ny0xMjI6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxMTQ6MTAtMTE0OjQwIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MjgiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MTgiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI1NyIgbG9jYXRvcj0iMTE0OjMzLTExNDo0MCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSIxMTU6My0xMTY6MTA4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iMTE1OjEyLTExNToxMDYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjIiIGxvY2F0b3I9IjExNToxMi0xMTU6NDgiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjEiIGxvY2F0b3I9IjExNTozMS0xMTU6NDciIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjExNTozMS0xMTU6MzciIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjExNTo1Mi0xMTU6MTA2IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iMTE1Ojc1LTExNToxMDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTE1Ojc1LTExNTo5MyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTE1Ojc1LTExNTo4MyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxMTU6OTgtMTE1OjEwNSIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjExNjo0LTExNjoxMDciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExNjo0LTExNjo5OCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iMTE2OjQtMTE2OjQwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSIxMTY6MjMtMTE2OjM5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSIxMTY6MjMtMTE2OjI5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxMTY6NDQtMTE2Ojk4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMTE2OjY3LTExNjo5NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojg1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojc1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjExNjo5MC0xMTY6OTciIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MSIgbG9jYXRvcj0iMTE2OjEwMi0xMTY6MTA3IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExNTozLTExNjoxMDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxMTU6MTItMTE1OjEwNiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTE1OjEyLTExNTo0OCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTE1OjMxLTExNTo0NyIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTE1OjMxLTExNTozNyIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2OCIgbG9jYXRvcj0iMTE1OjUyLTExNToxMDYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjEwNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY1IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjkzIiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY0IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjgzIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjYiIGxvY2F0b3I9IjExNTo5OC0xMTU6MTA1IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTE2OjQtMTE2OjEwNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MCIgbG9jYXRvcj0iMTE2OjQtMTE2Ojk4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIxMTY6NC0xMTY6NDAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjExNjoyMy0xMTY6MzkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzEiIGxvY2F0b3I9IjExNjoyMy0xMTY6MjkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjExNjo0NC0xMTY6OTgiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojk3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzYiIGxvY2F0b3I9IjExNjo2Ny0xMTY6ODUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjExNjo2Ny0xMTY6NzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTE2OjkwLTExNjo5NyIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTY6MTAyLTExNjoxMDciIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSIxMTU6My0xMTY6MTA4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iMTE1OjEyLTExNToxMDYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjIiIGxvY2F0b3I9IjExNToxMi0xMTU6NDgiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjEiIGxvY2F0b3I9IjExNTozMS0xMTU6NDciIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjExNTozMS0xMTU6MzciIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjExNTo1Mi0xMTU6MTA2IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iMTE1Ojc1LTExNToxMDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTE1Ojc1LTExNTo5MyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTE1Ojc1LTExNTo4MyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxMTU6OTgtMTE1OjEwNSIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjExNjo0LTExNjoxMDciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExNjo0LTExNjo5OCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iMTE2OjQtMTE2OjQwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSIxMTY6MjMtMTE2OjM5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSIxMTY6MjMtMTE2OjI5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxMTY6NDQtMTE2Ojk4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMTE2OjY3LTExNjo5NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojg1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojc1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjExNjo5MC0xMTY6OTciIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MSIgbG9jYXRvcj0iMTE2OjEwMi0xMTY6MTA3IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExNTozLTExNjoxMDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxMTU6MTItMTE1OjEwNiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTE1OjEyLTExNTo0OCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTE1OjMxLTExNTo0NyIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTE1OjMxLTExNTozNyIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2OCIgbG9jYXRvcj0iMTE1OjUyLTExNToxMDYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjEwNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY1IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjkzIiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY0IiBsb2NhdG9yPSIxMTU6NzUtMTE1OjgzIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjYiIGxvY2F0b3I9IjExNTo5OC0xMTU6MTA1IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTE2OjQtMTE2OjEwNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MCIgbG9jYXRvcj0iMTE2OjQtMTE2Ojk4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIxMTY6NC0xMTY6NDAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjExNjoyMy0xMTY6MzkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzEiIGxvY2F0b3I9IjExNjoyMy0xMTY6MjkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjExNjo0NC0xMTY6OTgiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMTY6NjctMTE2Ojk3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzYiIGxvY2F0b3I9IjExNjo2Ny0xMTY6ODUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjExNjo2Ny0xMTY6NzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTE2OjkwLTExNjo5NyIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTY6MTAyLTExNjoxMDciIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzMjgiIGxvY2F0b3I9IjExNzo3LTEyMjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyODciIGxvY2F0b3I9IjExNzoxMC0xMTc6NDIiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMTE3OjEwLTExNzoyOCIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4NCIgbG9jYXRvcj0iMTE3OjEwLTExNzoxOCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSIxMTc6MzMtMTE3OjQyIiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTE4OjQtMTE5OjExOCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjExODoxMy0xMTg6MTE1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIxMTg6MTMtMTE4OjQ5IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSIxMTg6MzItMTE4OjQ4IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSIxMTg6MzItMTE4OjM4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxMTg6NTMtMTE4OjExNSIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTciIGxvY2F0b3I9IjExODo3Ni0xMTg6MTE0IiBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIxMTg6NzYtMTE4OjExMCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIxMTg6NzctMTE4Ojk1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIxMTg6NzctMTE4Ojg1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTUiIGxvY2F0b3I9IjExODoxMDAtMTE4OjEwOSIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzMTMiIGxvY2F0b3I9IjExOTo1LTExOToxMTciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjExOTo1LTExOToxMDgiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjExOTo1LTExOTo0MSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTE5OjI0LTExOTo0MCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iMTE5OjI0LTExOTozMCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTE5OjQ1LTExOToxMDgiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSIxMTk6NjgtMTE5OjEwNyIgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjExOTo2OC0xMTk6MTAyIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjExOTo2OS0xMTk6ODciIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDUiIGxvY2F0b3I9IjExOTo2OS0xMTk6NzciIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iMTE5OjkyLTExOToxMDEiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTE5OjExMi0xMTk6MTE3IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjExODo0LTExOToxMTgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSIxMTg6MTMtMTE4OjExNSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iMTE4OjEzLTExODo0OSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE4OjMyLTExODo0OCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTE4OjMyLTExODozOCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OCIgbG9jYXRvcj0iMTE4OjUzLTExODoxMTUiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxMTg6NzYtMTE4OjExNCIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTE4Ojc2LTExODoxMTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTE4Ojc3LTExODo5NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTE4Ojc3LTExODo4NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIxMTg6MTAwLTExODoxMDkiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxMTk6NS0xMTk6MTE3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxMTk6NS0xMTk6MTA4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMTk6NS0xMTk6NDEiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjExOToyNC0xMTk6NDAiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjExOToyNC0xMTk6MzAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjExOTo0NS0xMTk6MTA4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTE5OjY4LTExOToxMDciIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxMTk6NjgtMTE5OjEwMiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxMTk6NjktMTE5Ojg3IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA1IiBsb2NhdG9yPSIxMTk6NjktMTE5Ojc3IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjExOTo5Mi0xMTk6MTAxIiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjExOToxMTItMTE5OjExNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvd0Nsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjExODo0LTExOToxMTgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSIxMTg6MTMtMTE4OjExNSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iMTE4OjEzLTExODo0OSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE4OjMyLTExODo0OCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTE4OjMyLTExODozOCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OCIgbG9jYXRvcj0iMTE4OjUzLTExODoxMTUiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxMTg6NzYtMTE4OjExNCIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTE4Ojc2LTExODoxMTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTE4Ojc3LTExODo5NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTE4Ojc3LTExODo4NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIxMTg6MTAwLTExODoxMDkiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxMTk6NS0xMTk6MTE3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxMTk6NS0xMTk6MTA4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMTk6NS0xMTk6NDEiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjExOToyNC0xMTk6NDAiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjExOToyNC0xMTk6MzAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjExOTo0NS0xMTk6MTA4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTE5OjY4LTExOToxMDciIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxMTk6NjgtMTE5OjEwMiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxMTk6NjktMTE5Ojg3IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA1IiBsb2NhdG9yPSIxMTk6NjktMTE5Ojc3IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjExOTo5Mi0xMTk6MTAxIiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjExOToxMTItMTE5OjExNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxMTg6NC0xMTk6MTE4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTE4OjEzLTExODoxMTUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjExODoxMy0xMTg6NDkiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTAiIGxvY2F0b3I9IjExODozMi0xMTg6NDgiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjExODozMi0xMTg6MzgiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjExODo1My0xMTg6MTE1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTE4Ojc2LTExODoxMTQiIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjExODo3Ni0xMTg6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTQiIGxvY2F0b3I9IjExODo3Ny0xMTg6OTUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjExODo3Ny0xMTg6ODUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTE4OjEwMC0xMTg6MTA5IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTE5OjUtMTE5OjExNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMSIgbG9jYXRvcj0iMTE5OjUtMTE5OjEwOCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMyIgbG9jYXRvcj0iMTE5OjUtMTE5OjQxIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxMTk6MjQtMTE5OjQwIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSIxMTk6MjQtMTE5OjMwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxMTk6NDUtMTE5OjEwOCIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjExOTo2OC0xMTk6MTA3IiBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwOCIgbG9jYXRvcj0iMTE5OjY4LTExOToxMDIiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNiIgbG9jYXRvcj0iMTE5OjY5LTExOTo4NyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTE5OjY5LTExOTo3NyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxMTk6OTItMTE5OjEwMSIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEyIiBsb2NhdG9yPSIxMTk6MTEyLTExOToxMTciIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzMjciIGxvY2F0b3I9IjEyMDo3LTEyMjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIzMTgiIGxvY2F0b3I9IjEyMDoxMC0xMjA6NDQiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iMTIwOjEwLTEyMDoyOCIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNSIgbG9jYXRvcj0iMTIwOjEwLTEyMDoxOCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSIxMjA6MzMtMTIwOjQ0IiBuYW1lPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjMyNSIgbG9jYXRvcj0iMTIxOjQtMTIxOjcxIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTIxOjEzLTEyMTo0NiIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMSIgbG9jYXRvcj0iMTIxOjIwLTEyMTo0NiIgbmFtZT0iVG9JbnRlcnZhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSIxMjE6MzEtMTIxOjQ1IiBwYXRoPSJvbnNldCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjEyMTozMS0xMjE6MzkiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNCIgbG9jYXRvcj0iMTIxOjQ5LTEyMTo3MCIgcGF0aD0icmVjb3JkZWREYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyMyIgbG9jYXRvcj0iMTIxOjQ5LTEyMTo1NyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjEyMjo3LTEyMjoxMCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjEwNzo0Ny0xMDc6NTUiIG5hbWU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzY2IiBsb2NhdG9yPSIxMjk6MS0xMzU6ODciIG5hbWU9IlRvUHJldmFsZW5jZUludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbiBpbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIG5vcm1hbGl6ZWQgcHJldmFsZW5jZSBwZXJpb2Qgb2YgYSBnaXZlbiBDb25kaXRpb24gcmVzb3VyY2UuCkBjb21tZW50OiBVc2VzIHRoZSBUb0ludGVydmFsIGFuZCBUb0FiYXRlbWVudEludGVydmFsIGZ1bmN0aW9ucyB0byBkZXRlcm1pbmUgdGhlIHdpZGVzdCBwb3RlbnRpYWwgaW50ZXJ2YWwgZnJvbQpvbnNldCB0byBhYmF0ZW1lbnQgYXMgc3BlY2lmaWVkIGluIHRoZSBnaXZlbiBDb25kaXRpb24uCiovCmRlZmluZSBmdW5jdGlvbiBUb1ByZXZhbGVuY2VJbnRlcnZhbChjb25kaXRpb24gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2xpbmljYWxTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7YWN0aXZlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2xpbmljYWxTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7cmVjdXJyZW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jbGluaWNhbFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtyZWxhcHNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0FiYXRlbWVudEludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CmVsc2UKICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0FiYXRlbWVudEludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzY1IiBsb2NhdG9yPSIxMzA6MS0xMzU6ODciIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxMzA6NC0xMzI6NDEiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTMwOjQtMTMxOjQ0IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjEzMDo0LTEzMDozOCIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSIxMzA6NC0xMzA6MjciIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzNSIgbG9jYXRvcj0iMTMwOjQtMTMwOjEyIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM3IiBsb2NhdG9yPSIxMzA6MzEtMTMwOjM4IiBuYW1lPSJhY3RpdmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDIiIGxvY2F0b3I9IjEzMTo2LTEzMTo0NCIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxMzE6Ni0xMzE6MjkiIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzOSIgbG9jYXRvcj0iMTMxOjYtMTMxOjE0IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQxIiBsb2NhdG9yPSIxMzE6MzMtMTMxOjQ0IiBuYW1lPSJyZWN1cnJlbmNlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjEzMjo2LTEzMjo0MSIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxMzI6Ni0xMzI6MjkiIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM0NCIgbG9jYXRvcj0iMTMyOjYtMTMyOjE0IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxMzI6MzMtMTMyOjQxIiBuYW1lPSJyZWxhcHNlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTMzOjMtMTMzOjg3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxMzM6MTItMTMzOjQ3IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTEiIGxvY2F0b3I9IjEzMzoyMS0xMzM6NDciIG5hbWU9IlRvSW50ZXJ2YWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1MCIgbG9jYXRvcj0iMTMzOjMyLTEzMzo0NiIgcGF0aD0ib25zZXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzQ5IiBsb2NhdG9yPSIxMzM6MzItMTMzOjQwIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzU1IiBsb2NhdG9yPSIxMzM6NTAtMTMzOjg2IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU0IiBsb2NhdG9yPSIxMzM6NTctMTMzOjg2IiBuYW1lPSJUb0FiYXRlbWVudEludGVydmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTMiIGxvY2F0b3I9IjEzMzo3Ny0xMzM6ODUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzY0IiBsb2NhdG9yPSIxMzU6My0xMzU6ODciIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzYwIiBsb2NhdG9yPSIxMzU6MTItMTM1OjQ3IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTkiIGxvY2F0b3I9IjEzNToyMS0xMzU6NDciIG5hbWU9IlRvSW50ZXJ2YWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1OCIgbG9jYXRvcj0iMTM1OjMyLTEzNTo0NiIgcGF0aD0ib25zZXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzU3IiBsb2NhdG9yPSIxMzU6MzItMTM1OjQwIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIxMzU6NTAtMTM1Ojg2IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIxMzU6NTctMTM1Ojg2IiBuYW1lPSJUb0FiYXRlbWVudEludGVydmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjEiIGxvY2F0b3I9IjEzNTo3Ny0xMzU6ODUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25kaXRpb24iPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzM0IiBsb2NhdG9yPSIxMjk6NDgtMTI5OjU2IiBuYW1lPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3OCIgbG9jYXRvcj0iMTQzOjEtMTQ2OjEwIiBuYW1lPSJFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNzgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb25zKGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlLmV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzc3IiBsb2NhdG9yPSIxNDQ6My0xNDY6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzcwIiBsb2NhdG9yPSIxNDQ6My0xNDQ6MjgiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzY5IiBsb2NhdG9yPSIxNDQ6My0xNDQ6MjYiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM3NCIgbG9jYXRvcj0iMTQ1OjQtMTQ1OjIwIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzIiIGxvY2F0b3I9IjE0NToxMC0xNDU6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTQ1OjE4LTE0NToyMCIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjM3NiIgbG9jYXRvcj0iMTQ2OjMtMTQ2OjEwIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzc1IiBsb2NhdG9yPSIxNDY6MTAiIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNjciIGxvY2F0b3I9IjE0Mzo0My0xNDM6NTYiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY4IiBsb2NhdG9yPSIxNDM6NjMtMTQzOjY4IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMTUzOjEtMTU0OjUwIiBuYW1lPSJFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM4NSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUKaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuCiovCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0V4dGVuc2lvbnMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzg0IiBsb2NhdG9yPSIxNTQ6My0xNTQ6NTAiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgzIiBsb2NhdG9yPSIxNTQ6MTgtMTU0OjUwIiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODEiIGxvY2F0b3I9IjE1NDozMS0xNTQ6NDQiIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODIiIGxvY2F0b3I9IjE1NDo0Ny0xNTQ6NDkiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM3OSIgbG9jYXRvcj0iMTUzOjQyLTE1Mzo1NSIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzODAiIGxvY2F0b3I9IjE1Mzo2Mi0xNTM6NjciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzk3IiBsb2NhdG9yPSIxNjE6MS0xNjQ6MTAiIG5hbWU9IkV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM5NyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhlbGVtZW50IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudC5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5NiIgbG9jYXRvcj0iMTYyOjMtMTY0OjEwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM4OSIgbG9jYXRvcj0iMTYyOjMtMTYyOjIxIiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM4OCIgbG9jYXRvcj0iMTYyOjMtMTYyOjE5IiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZWxlbWVudCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM5MyIgbG9jYXRvcj0iMTYzOjQtMTYzOjIwIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTEiIGxvY2F0b3I9IjE2MzoxMC0xNjM6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5MiIgbG9jYXRvcj0iMTYzOjE4LTE2MzoyMCIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjM5NSIgbG9jYXRvcj0iMTY0OjMtMTY0OjEwIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzk0IiBsb2NhdG9yPSIxNjQ6MTAiIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4NiIgbG9jYXRvcj0iMTYxOjM2LTE2MTo0MiIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4NyIgbG9jYXRvcj0iMTYxOjQ5LTE2MTo1NCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDQiIGxvY2F0b3I9IjE3MToxLTE3Mjo0MSIgbmFtZT0iRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MDQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUKaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuCiovCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FeHRlbnNpb25zKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDAzIiBsb2NhdG9yPSIxNzI6My0xNzI6NDEiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDAyIiBsb2NhdG9yPSIxNzI6MTgtMTcyOjQxIiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjE3MjoyOS0xNzI6MzUiIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwMSIgbG9jYXRvcj0iMTcyOjM4LTE3Mjo0MCIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZWxlbWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTgiIGxvY2F0b3I9IjE3MTozNS0xNzE6NDEiIG5hbWU9ImZoaXI6RWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTkiIGxvY2F0b3I9IjE3MTo0OC0xNzE6NTMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDE2IiBsb2NhdG9yPSIxODA6MS0xODM6MTAiIG5hbWU9Ik1vZGlmaWVyRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlLm1vZGlmaWVyRXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MTUiIGxvY2F0b3I9IjE4MTozLTE4MzoxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MDgiIGxvY2F0b3I9IjE4MTozLTE4MTozNiIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDciIGxvY2F0b3I9IjE4MTozLTE4MTozNCIgcGF0aD0ibW9kaWZpZXJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0MTIiIGxvY2F0b3I9IjE4Mjo0LTE4MjoyMCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDEwIiBsb2NhdG9yPSIxODI6MTAtMTgyOjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTEiIGxvY2F0b3I9IjE4MjoxOC0xODI6MjAiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI0MTQiIGxvY2F0b3I9IjE4MzozLTE4MzoxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxMyIgbG9jYXRvcj0iMTgzOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDA1IiBsb2NhdG9yPSIxODA6NTEtMTgwOjY0IiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQwNiIgbG9jYXRvcj0iMTgwOjcxLTE4MDo3NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MjMiIGxvY2F0b3I9IjE5MDoxLTE5MTo1NiIgbmFtZT0iTW9kaWZpZXJFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUKaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuCiovCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbihkb21haW5SZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTciPgogICAgICAgICAgICAgICAgICA8YTpzPkRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgdXJsIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TW9kaWZpZXJFeHRlbnNpb25zKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQyMiIgbG9jYXRvcj0iMTkxOjMtMTkxOjU2IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMSIgbG9jYXRvcj0iMTkxOjE4LTE5MTo1NiIgbmFtZT0iTW9kaWZpZXJFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTkiIGxvY2F0b3I9IjE5MTozNy0xOTE6NTAiIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjAiIGxvY2F0b3I9IjE5MTo1My0xOTE6NTUiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQxNyIgbG9jYXRvcj0iMTkwOjUwLTE5MDo2MyIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjE5MDo3MC0xOTA6NzUiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDM1IiBsb2NhdG9yPSIxOTg6MS0yMDE6MTAiIG5hbWU9Ik1vZGlmaWVyRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDM1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkJhY2tib25lRWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudC5tb2RpZmllckV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDM0IiBsb2NhdG9yPSIxOTk6My0yMDE6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI3IiBsb2NhdG9yPSIxOTk6My0xOTk6MjkiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDI2IiBsb2NhdG9yPSIxOTk6My0xOTk6MjciIHBhdGg9Im1vZGlmaWVyRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjIwMDo0LTIwMDoyMCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI5IiBsb2NhdG9yPSIyMDA6MTAtMjAwOjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzAiIGxvY2F0b3I9IjIwMDoxOC0yMDA6MjAiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI0MzMiIGxvY2F0b3I9IjIwMTozLTIwMToxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzMiIgbG9jYXRvcj0iMjAxOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZWxlbWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MjQiIGxvY2F0b3I9IjE5ODo0NC0xOTg6NTgiIG5hbWU9ImZoaXI6QmFja2JvbmVFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQyNSIgbG9jYXRvcj0iMTk4OjY1LTE5ODo3MCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NDIiIGxvY2F0b3I9IjIwODoxLTIwOTo0OSIgbmFtZT0iTW9kaWZpZXJFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ0MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLgpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KKi8KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9uKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5CYWNrYm9uZUVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Nb2RpZmllckV4dGVuc2lvbnMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NDEiIGxvY2F0b3I9IjIwOTozLTIwOTo0OSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDAiIGxvY2F0b3I9IjIwOToxOC0yMDk6NDkiIG5hbWU9Ik1vZGlmaWVyRXh0ZW5zaW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDM4IiBsb2NhdG9yPSIyMDk6MzctMjA5OjQzIiBuYW1lPSJlbGVtZW50IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzkiIGxvY2F0b3I9IjIwOTo0Ni0yMDk6NDgiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImVsZW1lbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDM2IiBsb2NhdG9yPSIyMDg6NDMtMjA4OjU3IiBuYW1lPSJmaGlyOkJhY2tib25lRWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MzciIGxvY2F0b3I9IjIwODo2NC0yMDg6NjkiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDU2IiBsb2NhdG9yPSIyMTY6MS0yMTk6MTAiIG5hbWU9IkJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NTYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBCYXNlRXh0ZW5zaW9ucyhkb21haW5SZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDMiPgogICAgICAgICAgICAgICAgICA8YTpzPkRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgaWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlLmV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1NSIgbG9jYXRvcj0iMjE3OjMtMjE5OjEwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ0NiIgbG9jYXRvcj0iMjE3OjMtMjE3OjI4IiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0NSIgbG9jYXRvcj0iMjE3OjMtMjE3OjI2IiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0NTIiIGxvY2F0b3I9IjIxODo0LTIxODo2NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQ4IiBsb2NhdG9yPSIyMTg6MTAtMjE4OjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NTEiIGxvY2F0b3I9IjIxODoxOC0yMTg6NjYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0OSIgbG9jYXRvcj0iMjE4OjE5LTIxODo2MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1MCIgbG9jYXRvcj0iMjE4OjY0LTIxODo2NSIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI0NTQiIGxvY2F0b3I9IjIxOTozLTIxOToxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1MyIgbG9jYXRvcj0iMjE5OjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDQzIiBsb2NhdG9yPSIyMTY6NDctMjE2OjYwIiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDQ0IiBsb2NhdG9yPSIyMTY6NjYtMjE2OjcxIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ2MyIgbG9jYXRvcj0iMjI2OjEtMjI3OjUxIiBuYW1lPSJCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NjMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLgoqLwpkZWZpbmUgZnVuY3Rpb24gQmFzZUV4dGVuc2lvbihkb21haW5SZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NTciPgogICAgICAgICAgICAgICAgICA8YTpzPkRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgaWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CYXNlRXh0ZW5zaW9ucyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ2MiIgbG9jYXRvcj0iMjI3OjMtMjI3OjUxIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MSIgbG9jYXRvcj0iMjI3OjE4LTIyNzo1MSIgbmFtZT0iQmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1OSIgbG9jYXRvcj0iMjI3OjMzLTIyNzo0NiIgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MCIgbG9jYXRvcj0iMjI3OjQ5LTIyNzo1MCIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTciIGxvY2F0b3I9IjIyNjo0Ni0yMjY6NTkiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTgiIGxvY2F0b3I9IjIyNjo2NS0yMjY6NzAiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc3IiBsb2NhdG9yPSIyMzQ6MS0yMzc6MTAiIG5hbWU9IkJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NzciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uIEJhc2VFeHRlbnNpb25zKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgaWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVsZW1lbnQuZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDc2IiBsb2NhdG9yPSIyMzU6My0yMzc6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDY3IiBsb2NhdG9yPSIyMzU6My0yMzU6MjEiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDY2IiBsb2NhdG9yPSIyMzU6My0yMzU6MTkiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJlbGVtZW50IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDczIiBsb2NhdG9yPSIyMzY6NC0yMzY6NjYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2OSIgbG9jYXRvcj0iMjM2OjEwLTIzNjoxNCIgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDcyIiBsb2NhdG9yPSIyMzY6MTgtMjM2OjY2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzAiIGxvY2F0b3I9IjIzNjoxOS0yMzY6NjAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzEiIGxvY2F0b3I9IjIzNjo2NC0yMzY6NjUiIG5hbWU9ImlkIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDc1IiBsb2NhdG9yPSIyMzc6My0yMzc6MTAiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzQiIGxvY2F0b3I9IjIzNzoxMCIgbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImVsZW1lbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDY0IiBsb2NhdG9yPSIyMzQ6NDAtMjM0OjQ2IiBuYW1lPSJmaGlyOkVsZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NjUiIGxvY2F0b3I9IjIzNDo1Mi0yMzQ6NTciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDg0IiBsb2NhdG9yPSIyNDQ6MS0yNDU6NDQiIG5hbWU9IkJhc2VFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KKi8KZGVmaW5lIGZ1bmN0aW9uIEJhc2VFeHRlbnNpb24oZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzkiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJhc2VFeHRlbnNpb25zKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0ODMiIGxvY2F0b3I9IjI0NTozLTI0NTo0NCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0ODIiIGxvY2F0b3I9IjI0NToxOC0yNDU6NDQiIG5hbWU9IkJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0ODAiIGxvY2F0b3I9IjI0NTozMy0yNDU6MzkiIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4MSIgbG9jYXRvcj0iMjQ1OjQyLTI0NTo0MyIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ3OCIgbG9jYXRvcj0iMjQ0OjM5LTI0NDo0NSIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDc5IiBsb2NhdG9yPSIyNDQ6NTEtMjQ0OjU2IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5OCIgbG9jYXRvcj0iMjUyOjEtMjU1OjEwIiBuYW1lPSJCYXNlTW9kaWZpZXJFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OTgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2UubW9kaWZpZXJFeHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OTciIGxvY2F0b3I9IjI1MzozLTI1NToxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0ODgiIGxvY2F0b3I9IjI1MzozLTI1MzozNiIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0ODciIGxvY2F0b3I9IjI1MzozLTI1MzozNCIgcGF0aD0ibW9kaWZpZXJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0OTQiIGxvY2F0b3I9IjI1NDo0LTI1NDo2NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkwIiBsb2NhdG9yPSIyNTQ6MTAtMjU0OjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OTMiIGxvY2F0b3I9IjI1NDoxOC0yNTQ6NjYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5MSIgbG9jYXRvcj0iMjU0OjE5LTI1NDo2MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5MiIgbG9jYXRvcj0iMjU0OjY0LTI1NDo2NSIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI0OTYiIGxvY2F0b3I9IjI1NTozLTI1NToxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ5NSIgbG9jYXRvcj0iMjU1OjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDg1IiBsb2NhdG9yPSIyNTI6NTUtMjUyOjY4IiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIyNTI6NzQtMjUyOjc5IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwNSIgbG9jYXRvcj0iMjYyOjEtMjYzOjU5IiBuYW1lPSJCYXNlTW9kaWZpZXJFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUwNSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUKaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuCiovCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIGlkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUwNCIgbG9jYXRvcj0iMjYzOjMtMjYzOjU5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwMyIgbG9jYXRvcj0iMjYzOjE4LTI2Mzo1OSIgbmFtZT0iQmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAxIiBsb2NhdG9yPSIyNjM6NDEtMjYzOjU0IiBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAyIiBsb2NhdG9yPSIyNjM6NTctMjYzOjU4IiBuYW1lPSJpZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ5OSIgbG9jYXRvcj0iMjYyOjU0LTI2Mjo2NyIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwMCIgbG9jYXRvcj0iMjYyOjczLTI2Mjo3OCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTkiIGxvY2F0b3I9IjI3MDoxLTI3MzoxMCIgbmFtZT0iQmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTE5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5CYWNrYm9uZUVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MDciPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudC5tb2RpZmllckV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUxOCIgbG9jYXRvcj0iMjcxOjMtMjczOjEwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUwOSIgbG9jYXRvcj0iMjcxOjMtMjcxOjI5IiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUwOCIgbG9jYXRvcj0iMjcxOjMtMjcxOjI3IiBwYXRoPSJtb2RpZmllckV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJlbGVtZW50IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNTE1IiBsb2NhdG9yPSIyNzI6NC0yNzI6NjYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxMSIgbG9jYXRvcj0iMjcyOjEwLTI3MjoxNCIgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE0IiBsb2NhdG9yPSIyNzI6MTgtMjcyOjY2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTIiIGxvY2F0b3I9IjI3MjoxOS0yNzI6NjAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTMiIGxvY2F0b3I9IjI3Mjo2NC0yNzI6NjUiIG5hbWU9ImlkIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNTE3IiBsb2NhdG9yPSIyNzM6My0yNzM6MTAiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MTYiIGxvY2F0b3I9IjI3MzoxMCIgbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImVsZW1lbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTA2IiBsb2NhdG9yPSIyNzA6NDgtMjcwOjYyIiBuYW1lPSJmaGlyOkJhY2tib25lRWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwNyIgbG9jYXRvcj0iMjcwOjY4LTI3MDo3MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MjYiIGxvY2F0b3I9IjI4MDoxLTI4MTo1MiIgbmFtZT0iQmFzZU1vZGlmaWVyRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC4KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUKaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuCiovCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb24oZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkJhY2tib25lRWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIGlkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTI1IiBsb2NhdG9yPSIyODE6My0yODE6NTIiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTI0IiBsb2NhdG9yPSIyODE6MTgtMjgxOjUyIiBuYW1lPSJCYXNlTW9kaWZpZXJFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjIiIGxvY2F0b3I9IjI4MTo0MS0yODE6NDciIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyMyIgbG9jYXRvcj0iMjgxOjUwLTI4MTo1MSIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUyMCIgbG9jYXRvcj0iMjgwOjQ3LTI4MDo2MSIgbmFtZT0iZmhpcjpCYWNrYm9uZUVsZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MjEiIGxvY2F0b3I9IjI4MDo2Ny0yODA6NzIiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNTI2IiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGF1dGhvcjogQnJ5biBSaG9kZXNcbkBkZXNjcmlwdGlvbjogQ29tbW9uIHRlcm1pbm9sb2dpZXMgYW5kIGZ1bmN0aW9ucyB1c2VkIGluIEZISVItYmFzZWQgQ1FMIGFydGlmYWN0c1xuKi9cbiIsImxpYnJhcnkgRkhJUkNvbW1vbiB2ZXJzaW9uICc0LjAuMSciIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiRkhJUkNvbW1vbiIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZVN5c3RlbXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMToxLTExOjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiTE9JTkNcIiIsIjogIiwiJ2h0dHA6Ly9sb2luYy5vcmcnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOjEtMTI6NDciLAogICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEQ1QiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJTTk9NRURDVFwiIiwiOiAiLCInaHR0cDovL3Nub21lZC5pbmZvL3NjdCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM6MS0xMzo3NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJSb2xlQ29kZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1Sb2xlQ29kZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIlJvbGVDb2RlXCIiLCI6ICIsIidodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLVJvbGVDb2RlJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDoxLTE0OjgzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRpYWdub3NpcyBSb2xlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2RpYWdub3Npcy1yb2xlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiRGlhZ25vc2lzIFJvbGVcIiIsIjogIiwiJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vZGlhZ25vc2lzLXJvbGUnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OjEtMTU6ODIiLAogICAgICAgICAgICAibmFtZSIgOiAiUmVxdWVzdEludGVudCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9yZXF1ZXN0LWludGVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIlJlcXVlc3RJbnRlbnRcIiIsIjogIiwiJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vcmVxdWVzdC1pbnRlbnQnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTA2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5XCIiLCI6ICIsIidodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL21lZGljYXRpb25yZXF1ZXN0LWNhdGVnb3J5JyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzoxLTE3OjEwMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2NvbmRpdGlvbi1jbGluaWNhbCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXNcIiIsIjogIiwiJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MS0xODoxMDciLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLXZlci1zdGF0dXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXNcIiIsIjogIiwiJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLXZlci1zdGF0dXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOToxLTE5OjExOSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS1jbGluaWNhbCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzXCIiLCI6ICIsIidodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS1jbGluaWNhbCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEtMjA6MTI3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS12ZXJpZmljYXRpb24iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXNcIiIsIjogIiwiJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vYWxsZXJneWludG9sZXJhbmNlLXZlcmlmaWNhdGlvbiciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAidmFsdWVTZXRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6OTAiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jcWYvY29tbW9uL1ZhbHVlU2V0L2FjdGl2ZS1jb25kaXRpb24iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBGb3JcbiIsInZhbHVlc2V0ICIsIlwiQWN0aXZlIENvbmRpdGlvblwiIiwiOiAiLCInaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jcWYvY29tbW9uL1ZhbHVlU2V0L2FjdGl2ZS1jb25kaXRpb24nIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoxLTI0Ojk0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluYWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jcWYvY29tbW9uL1ZhbHVlU2V0L2luYWN0aXZlLWNvbmRpdGlvbiIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInZhbHVlc2V0ICIsIlwiSW5hY3RpdmUgQ29uZGl0aW9uXCIiLCI6ICIsIidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NxZi9jb21tb24vVmFsdWVTZXQvaW5hY3RpdmUtY29uZGl0aW9uJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjoxLTI2OjYxIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJpcnRoZGF0ZSIsCiAgICAgICAgICAgICJpZCIgOiAiMjExMTItOCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJCaXJ0aCBkYXRlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIkJpcnRoZGF0ZVwiIiwiOiAiLCInMjExMTItOCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTE9JTkNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0JpcnRoIGRhdGUnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MzQtMjY6NDAiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiTE9JTkMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6MS0yNzo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEZWFkIiwKICAgICAgICAgICAgImlkIiA6ICI0MTkwOTkwMDkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiRGVhZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJEZWFkXCIiLCI6ICIsIic0MTkwOTkwMDknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlNOT01FRENUXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidEZWFkJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OjMxLTI3OjQwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIlNOT01FRENUIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjEtMjg6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiRVIiLAogICAgICAgICAgICAiaWQiIDogIkVSIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkVtZXJnZW5jeSByb29tIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIkVSXCIiLCI6ICIsIidFUiciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUm9sZUNvZGVcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0VtZXJnZW5jeSByb29tJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjIyLTI4OjMxIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIlJvbGVDb2RlIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OjEtMjk6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiSUNVIiwKICAgICAgICAgICAgImlkIiA6ICJJQ1UiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiSW50ZW5zaXZlIGNhcmUgdW5pdCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJJQ1VcIiIsIjogIiwiJ0lDVSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUm9sZUNvZGVcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0ludGVuc2l2ZSBjYXJlIHVuaXQnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk6MjQtMjk6MzMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiUm9sZUNvZGUiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MS0zMDo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCaWxsaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJiaWxsaW5nIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkJpbGxpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiQmlsbGluZ1wiIiwiOiAiLCInYmlsbGluZyciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGlhZ25vc2lzIFJvbGVcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0JpbGxpbmcnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MzItMzA6NDciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiRGlhZ25vc2lzIFJvbGUiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6MS0zMzo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAiaWQiIDogImFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIENvbmRpdGlvbiBDbGluaWNhbCBTdGF0dXMgQ29kZXMgLSBDb25zaWRlciB2YWx1ZSBzZXRzIGZvciB0aGVzZVxuIiwiY29kZSAiLCJcImFjdGl2ZVwiIiwiOiAiLCInYWN0aXZlJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6MzAtMzM6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDoxLTM0OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogInJlY3VycmVuY2UiLAogICAgICAgICAgICAiaWQiIDogInJlY3VycmVuY2UiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwicmVjdXJyZW5jZVwiIiwiOiAiLCIncmVjdXJyZW5jZSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjM4LTM0OjY3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MS0zNTo2MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJyZWxhcHNlIiwKICAgICAgICAgICAgImlkIiA6ICJyZWxhcHNlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcInJlbGFwc2VcIiIsIjogIiwiJ3JlbGFwc2UnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTozMi0zNTo2MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjEtMzY6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiaW5hY3RpdmUiLAogICAgICAgICAgICAiaWQiIDogImluYWN0aXZlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcImluYWN0aXZlXCIiLCI6ICIsIidpbmFjdGl2ZSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjM0LTM2OjYzIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MS0zNzo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJyZW1pc3Npb24iLAogICAgICAgICAgICAiaWQiIDogInJlbWlzc2lvbiIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJyZW1pc3Npb25cIiIsIjogIiwiJ3JlbWlzc2lvbiciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3OjM2LTM3OjY1IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6MS0zODo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJyZXNvbHZlZCIsCiAgICAgICAgICAgICJpZCIgOiAicmVzb2x2ZWQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwicmVzb2x2ZWRcIiIsIjogIiwiJ3Jlc29sdmVkJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6MzQtMzg6NjMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MToxLTQxOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogInVuY29uZmlybWVkIiwKICAgICAgICAgICAgImlkIiA6ICJ1bmNvbmZpcm1lZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIENvbmRpdGlvbiBWZXJpZmljYXRpb24gU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2VcbiIsImNvZGUgIiwiXCJ1bmNvbmZpcm1lZFwiIiwiOiAiLCIndW5jb25maXJtZWQnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTo0MC00MTo3MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxLTQyOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogInByb3Zpc2lvbmFsIiwKICAgICAgICAgICAgImlkIiA6ICJwcm92aXNpb25hbCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJwcm92aXNpb25hbFwiIiwiOiAiLCIncHJvdmlzaW9uYWwnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mjo0MC00Mjo3MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzoxLTQzOjczIiwKICAgICAgICAgICAgIm5hbWUiIDogImRpZmZlcmVudGlhbCIsCiAgICAgICAgICAgICJpZCIgOiAiZGlmZmVyZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcImRpZmZlcmVudGlhbFwiIiwiOiAiLCInZGlmZmVyZW50aWFsJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6NDItNDM6NzMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6MS00NDo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJjb25maXJtZWQiLAogICAgICAgICAgICAiaWQiIDogImNvbmZpcm1lZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJjb25maXJtZWRcIiIsIjogIiwiJ2NvbmZpcm1lZCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjM2LTQ0OjY3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjEtNDU6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAicmVmdXRlZCIsCiAgICAgICAgICAgICJpZCIgOiAicmVmdXRlZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJyZWZ1dGVkXCIiLCI6ICIsIidyZWZ1dGVkJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MzItNDU6NjMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00Njo4MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJlbnRlcmVkLWluLWVycm9yIiwKICAgICAgICAgICAgImlkIiA6ICJlbnRlcmVkLWluLWVycm9yIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcImVudGVyZWQtaW4tZXJyb3JcIiIsIjogIiwiJ2VudGVyZWQtaW4tZXJyb3InIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Njo1MC00Njo4MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0ODoxLTQ4Ojc2IiwKICAgICAgICAgICAgIm5hbWUiIDogImFsbGVyZ3ktYWN0aXZlIiwKICAgICAgICAgICAgImlkIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiYWxsZXJneS1hY3RpdmVcIiIsIjogIiwiJ2FjdGl2ZSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ4OjM4LTQ4Ojc2IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6MS00OTo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJhbGxlcmd5LWluYWN0aXZlIiwKICAgICAgICAgICAgImlkIiA6ICJpbmFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJhbGxlcmd5LWluYWN0aXZlXCIiLCI6ICIsIidpbmFjdGl2ZSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjQyLTQ5OjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MDo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJhbGxlcmd5LXJlc29sdmVkIiwKICAgICAgICAgICAgImlkIiA6ICJyZXNvbHZlZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJhbGxlcmd5LXJlc29sdmVkXCIiLCI6ICIsIidyZXNvbHZlZCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjQyLTUwOjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MS01Mzo4OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJhbGxlcmd5LXVuY29uZmlybWVkIiwKICAgICAgICAgICAgImlkIiA6ICJ1bmNvbmZpcm1lZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIEFsbGVyZ3kvSW50b2xlcmFuY2UgVmVyaWZpY2F0aW9uIFN0YXR1cyBDb2RlcyAtIENvbnNpZGVyIHZhbHVlIHNldHMgZm9yIHRoZXNlXG4iLCJjb2RlICIsIlwiYWxsZXJneS11bmNvbmZpcm1lZFwiIiwiOiAiLCIndW5jb25maXJtZWQnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo0OC01Mzo4OCIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU0Ojg0IiwKICAgICAgICAgICAgIm5hbWUiIDogImFsbGVyZ3ktY29uZmlybWVkIiwKICAgICAgICAgICAgImlkIiA6ICJjb25maXJtZWQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiYWxsZXJneS1jb25maXJtZWRcIiIsIjogIiwiJ2NvbmZpcm1lZCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjQ0LTU0Ojg0IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjEtNTU6ODAiLAogICAgICAgICAgICAibmFtZSIgOiAiYWxsZXJneS1yZWZ1dGVkIiwKICAgICAgICAgICAgImlkIiA6ICJyZWZ1dGVkIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcImFsbGVyZ3ktcmVmdXRlZFwiIiwiOiAiLCIncmVmdXRlZCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjQwLTU1OjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjEtNTg6ODIiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgImlkIiA6ICJjb21tdW5pdHkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gTWVkaWNhdGlvblJlcXVlc3QgQ2F0ZWdvcnkgQ29kZXNcbiIsImNvZGUgIiwiXCJDb21tdW5pdHlcIiIsIjogIiwiJ2NvbW11bml0eSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeVwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInQ29tbXVuaXR5JyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjM2LTU4OjYyIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MS01OTo4MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEaXNjaGFyZ2UiLAogICAgICAgICAgICAiaWQiIDogImRpc2NoYXJnZSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJEaXNjaGFyZ2UiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiRGlzY2hhcmdlXCIiLCI6ICIsIidkaXNjaGFyZ2UnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnlcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0Rpc2NoYXJnZSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTozNi01OTo2MiIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjEtNjI6NjciLAogICAgICAgICAgICAibmFtZSIgOiAiQUQiLAogICAgICAgICAgICAiaWQiIDogIkFEIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkFkbWlzc2lvbiBkaWFnbm9zaXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBEaWFnbm9zaXMgUm9sZSBDb2Rlc1xuIiwiY29kZSAiLCJcIkFEXCIiLCI6ICIsIidBRCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGlhZ25vc2lzIFJvbGVcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0FkbWlzc2lvbiBkaWFnbm9zaXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjI6MjItNjI6MzciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiRGlhZ25vc2lzIFJvbGUiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6MS02Mzo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJERCIsCiAgICAgICAgICAgICJpZCIgOiAiREQiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiRGlzY2hhcmdlIGRpYWdub3NpcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJERFwiIiwiOiAiLCInREQnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRpYWdub3NpcyBSb2xlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidEaXNjaGFyZ2UgZGlhZ25vc2lzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjIyLTYzOjM3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkRpYWdub3NpcyBSb2xlIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjEtNjQ6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQ0MiLAogICAgICAgICAgICAiaWQiIDogIkNDIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkNoaWVmIGNvbXBsYWludCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJDQ1wiIiwiOiAiLCInQ0MnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRpYWdub3NpcyBSb2xlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidDaGllZiBjb21wbGFpbnQnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6MjItNjQ6MzciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiRGlhZ25vc2lzIFJvbGUiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MS02NTo2OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDTSIsCiAgICAgICAgICAgICJpZCIgOiAiQ00iLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiQ29tb3JiaWRpdHkgZGlhZ25vc2lzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIkNNXCIiLCI6ICIsIidDTSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGlhZ25vc2lzIFJvbGVcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ0NvbW9yYmlkaXR5IGRpYWdub3NpcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NToyMi02NTozNyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJEaWFnbm9zaXMgUm9sZSIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxLTY2OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogInByZS1vcCIsCiAgICAgICAgICAgICJpZCIgOiAicHJlLW9wIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogInByZS1vcCBkaWFnbm9zaXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwicHJlLW9wXCIiLCI6ICIsIidwcmUtb3AnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRpYWdub3NpcyBSb2xlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidwcmUtb3AgZGlhZ25vc2lzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjMwLTY2OjQ1IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkRpYWdub3NpcyBSb2xlIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjEtNjc6NzUiLAogICAgICAgICAgICAibmFtZSIgOiAicG9zdC1vcCIsCiAgICAgICAgICAgICJpZCIgOiAicG9zdC1vcCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJwb3N0LW9wIGRpYWdub3NpcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJwb3N0LW9wXCIiLCI6ICIsIidwb3N0LW9wJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJEaWFnbm9zaXMgUm9sZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCIncG9zdC1vcCBkaWFnbm9zaXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MzItNjc6NDciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiRGlhZ25vc2lzIFJvbGUiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MS02ODo3NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJiaWxsaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJiaWxsaW5nIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogImJpbGxpbmcgZGlhZ25vc2lzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcImJpbGxpbmdcIiIsIjogIiwiJ2JpbGxpbmcnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRpYWdub3NpcyBSb2xlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidiaWxsaW5nIGRpYWdub3NpcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2ODozMi02ODo0NyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJEaWFnbm9zaXMgUm9sZSIKICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6MS03MDoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6MS03MDoxNSIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxLTEwMDo0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvSW50ZXJ2YWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjEzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBOb3JtYWxpemVzIGEgdmFsdWUgdGhhdCBpcyBhIGNob2ljZSBvZiB0aW1pbmctdmFsdWVkIHR5cGVzIHRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWxcbkBjb21tZW50OiBOb3JtYWxpemVzIGEgY2hvaWNlIHR5cGUgb2YgRkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2QsIEZISVIuVGltaW5nLCBGSElSLmluc3RhbmNlLCBGSElSLnN0cmluZywgRkhJUi5BZ2UsIG9yIEZISVIuUmFuZ2UgdHlwZXNcbnRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwuIFRoaXMgc2VsZWN0aW9uIG9mIGNob2ljZSB0eXBlcyBpcyBhIHN1cGVyc2V0IG9mIHRoZSBtYWpvcml0eSBvZiBjaG9pY2UgdHlwZXMgdGhhdCBhcmUgdXNlZCBhcyBwb3NzaWJsZVxucmVwcmVzZW50YXRpb25zIGZvciB0aW1pbmctdmFsdWVkIGVsZW1lbnRzIGluIEZISVIsIGFsbG93aW5nIHRoaXMgZnVuY3Rpb24gdG8gYmUgdXNlZCBhY3Jvc3MgYW55IHJlc291cmNlLiBOT1RFOiBEdWUgdG8gdGhlXG5jb21wbGV4aXR5IG9mIGRldGVybWluaW5nIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgb3IgU3RyaW5nIHR5cGUsIHRoaXMgZnVuY3Rpb24gd2lsbCB0aHJvdyBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiBpdCBpcyB1c2VkXG53aXRoIGEgVGltaW5nIG9yIFN0cmluZy5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9JbnRlcnZhbCIsIigiLCJjaG9pY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDaG9pY2U8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJQZXJpb2QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlRpbWluZyIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiaW5zdGFudCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwic3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJBZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlJhbmdlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNhc2Vcblx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgXHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9EYXRlVGltZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9EYXRlVGltZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlBlcmlvZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gIFx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9JbnRlcnZhbCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUGVyaW9kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJpbnN0YW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cblx0XHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsWyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGVUaW1lIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJpbnN0YW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvRGF0ZVRpbWUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImluc3RhbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkFnZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG5cdFx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJBZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcblx0XHRcdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJBZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjEgIiwieWVhciIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJSYW5nZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG5cdFx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJSYW5nZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJsb3ciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcblx0XHRcdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJSYW5nZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJoaWdoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIxICIsInllYXIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiVGltaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cblx0XHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lc3NhZ2UiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm51bGwiLCIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWw8IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Vycm9yJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInQ2Fubm90IGNvbXB1dGUgYSBzaW5nbGUgaW50ZXJ2YWwgZnJvbSBhIFRpbWluZyB0eXBlJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsInN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZXNzYWdlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJudWxsIiwiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsPCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwidHJ1ZSIsIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJzEnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidFcnJvciciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Nhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0ZWxzZVxuXHRcdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm51bGwiLCIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWw8IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6My0xMDA6NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjQtODM6MTExIiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6OS04MjozMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjktODI6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6MTktODI6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo2LTgzOjExMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoxNS04Mzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MzgtODM6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzozOC04Mzo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo0OC04Mzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgzOjY0LTgzOjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6ODctODM6MTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6ODctODM6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6OTctODM6MTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDozLTg1OjQ5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjgtODQ6MjgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6OC04NDoxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MTgtODQ6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6NS04NTo0OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg1OjI4LTg1OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg1OjI4LTg1OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NTozOC04NTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjozLTg3OjEwNyIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Njo4LTg2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjgtODY6MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjE4LTg2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWluc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo0LTg3OjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MTMtODc6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NzozNi04Nzo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NzozNi04Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6NDYtODc6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9aW5zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo2MS04NzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo4NC04NzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6ODQtODc6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3Ojk0LTg3OjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1pbnN0YW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODozLTkwOjk3IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjgtODg6MjUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6OC04ODoxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MTgtODg6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjUtOTA6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NTQtODk6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6ODctODk6OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2LTkwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6Ni05MDo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NDYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NzktOTA6ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo5MS05MDo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvd0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjUtOTA6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NTQtODk6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6ODctODk6OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2LTkwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6Ni05MDo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NDYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NzktOTA6ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo5MS05MDo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjUtOTA6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzMtODk6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NTQtODk6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo3Ny04OTo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6ODctODk6OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2LTkwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6Ni05MDo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MjUtOTA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NDYtOTA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2OS05MDo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NzktOTA6ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo5MS05MDo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkRXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoQ2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NS05MDo5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjE0LTg5Ojk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjE0LTg5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozMy04OTo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozMy04OTozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo1NC04OTo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5Ojc3LTg5Ojk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5Ojc3LTg5OjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo4Ny04OTo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjYtOTA6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6Ni05MDo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo2LTkwOjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoyNS05MDo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoyNS05MDozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo0Ni05MDo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjY5LTkwOjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjY5LTkwOjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo3OS05MDo4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjkxLTkwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6My05MzoxMDYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6OC05MToyNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo4LTkxOjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MToxOC05MToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo1LTkzOjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjE0LTkyOjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxNC05Mjo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MzMtOTI6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MzMtOTI6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NTQtOTI6MTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NzctOTI6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjc3LTkyOjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjc4LTkyOjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo4OC05Mjo5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2LTkzOjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2LTkzOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjYtOTM6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjI1LTkzOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjI1LTkzOjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjQ2LTkzOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NjktOTM6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjY5LTkzOjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjcwLTkzOjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo4MC05Mzo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoxMDAtOTM6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93Q2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NS05MzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxNC05MjoxMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MTQtOTI6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMzLTkyOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMzLTkyOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjU0LTkyOjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjc3LTkyOjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3Ny05Mjo5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3OC05Mjo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6ODgtOTI6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6Ni05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6Ni05Mzo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2LTkzOjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoyNS05Mzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoyNS05MzozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo0Ni05Mzo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjY5LTkzOjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2OS05Mzo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo3MC05Mzo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6ODAtOTM6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MTAwLTkzOjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjUtOTM6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MTQtOTI6MTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjE0LTkyOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMy05Mjo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMy05MjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo1NC05MjoxMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3Ny05MjoxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NzctOTI6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NzgtOTI6ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjg4LTkyOjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjYtOTM6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjYtOTM6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6Ni05Mzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjUtOTM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjUtOTM6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NDYtOTM6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2OS05Mzo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NjktOTM6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NzAtOTM6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjgwLTkzOjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjEwMC05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaENsb3NlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjUtOTM6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MTQtOTI6MTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjE0LTkyOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMy05Mjo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMy05MjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo1NC05MjoxMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3Ny05MjoxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NzctOTI6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NzgtOTI6ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjg4LTkyOjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjYtOTM6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjYtOTM6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6Ni05Mzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjUtOTM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjUtOTM6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NDYtOTM6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo2OS05Mzo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NjktOTM6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NzAtOTM6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjgwLTkzOjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjEwMC05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozLTk1OjExNCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDo4LTk0OjI4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjgtOTQ6MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjE4LTk0OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjUtOTU6MTE0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToxMy05NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToxMy05NToxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToyMS05NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTozMC05NTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQxLTk1OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo0Ny05NTo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6NTItOTU6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjYxLTk1OjExMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDYW5ub3QgY29tcHV0ZSBhIHNpbmdsZSBpbnRlcnZhbCBmcm9tIGEgVGltaW5nIHR5cGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Njo1LTk3OjExMSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoxMC05NjozMCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoxMC05NjoxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6MjAtOTY6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6Ny05NzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjE1LTk3OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjE1LTk3OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjIzLTk3OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjMyLTk3OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6NDMtOTc6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjQ5LTk3OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Nzo1NC05Nzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6NjMtOTc6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjQtOTk6MjkiLAogICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6NC05OTo3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjEyLTk5OjI5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjIxLTk5OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDozNS04MDoxMzAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0Mi04MDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjU3LTgwOjY3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjcwLTgwOjgwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjgzLTgwOjk0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWluc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo5Ny04MDoxMDciLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTEwLTgwOjExNyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxMjAtODA6MTI5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MS0xMjI6MTAiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9BYmF0ZW1lbnRJbnRlcnZhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW4gaW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBub3JtYWxpemVkIEFiYXRlbWVudCBvZiBhIGdpdmVuIENvbmRpdGlvbiByZXNvdXJjZS5cbkBjb21tZW50OiBOT1RFOiBEdWUgdG8gdGhlIGNvbXBsZXhpdHkgb2YgZGV0ZXJtaW5pbmcgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZywgdGhpcyBmdW5jdGlvbiB3aWxsIHRocm93XG5hIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiB1c2VkIHdpdGggYSBDb25kaXRpb24gaW5zdGFuY2UgdGhhdCBoYXMgYSBTdHJpbmcgYXMgdGhlIGFiYXRlbWVudCB2YWx1ZS5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9BYmF0ZW1lbnRJbnRlcnZhbCIsIigiLCJjb25kaXRpb24iLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29uZGl0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhYmF0ZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvRGF0ZVRpbWUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvRGF0ZVRpbWUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRlbHNlICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhYmF0ZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJQZXJpb2QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0ludGVydmFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhYmF0ZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJQZXJpb2QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsInN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibnVsbCIsIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbDwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInRydWUiLCIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIicxJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRXJyb3InIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidDYW5ub3QgY29tcHV0ZSBhbiBpbnRlcnZhbCBmcm9tIGEgU3RyaW5nIHZhbHVlJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkFnZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9EYXRlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJpcnRoRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29uZGl0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYWJhdGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiQWdlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG5cdFx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvRGF0ZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiaXJ0aERhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvUXVhbnRpdHkiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkFnZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiMSAiLCJ5ZWFyIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlJhbmdlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cblx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhYmF0ZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJSYW5nZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJsb3ciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcblx0XHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9EYXRlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJpcnRoRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29uZGl0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYWJhdGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUmFuZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaGlnaCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiMSAiLCJ5ZWFyIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFiYXRlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsWyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVuZCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0ludGVydmFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29uZGl0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib25zZXQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJlY29yZGVkRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ZWxzZSAiLCJudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzMiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6Mi0xMjI6MTAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6NS0xMDg6NDAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA4OjUtMTA4OjIzIiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwODo1LTEwODoxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6MjgtMTA4OjQwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjQtMTA5OjEzNSIsCiAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjEzLTEwOTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTozNi0xMDk6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjM2LTEwOTo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6MzYtMTA5OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTo1OS0xMDk6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5Ojc1LTEwOToxMzQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6OTgtMTA5OjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6OTgtMTA5OjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6OTgtMTA5OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6MTIxLTEwOToxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6Ny0xMjI6MTAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTAtMTEwOjQzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDoxMC0xMTA6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEwOjEwLTExMDoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MzMtMTEwOjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMTo0LTExMTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMToyNy0xMTE6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjI3LTExMTo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6MjctMTExOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMTo1MC0xMTE6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjo3LTEyMjoxMCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjoxMC0xMTI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEyOjEwLTExMjoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MTAtMTEyOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjozMy0xMTI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjUtMTEzOjEwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjEzLTExMzozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTM6MTMtMTEzOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoyMS0xMTM6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvaW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjMwLTExMzozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo0MS0xMTM6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo0Ny0xMTM6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo1Mi0xMTM6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo2MS0xMTM6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjctMTIyOjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjEwLTExNDo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6MTAtMTE0OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoxMC0xMTQ6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjMzLTExNDo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMtMTE2OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTozMS0xMTU6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMxLTExNTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6NTItMTE1OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojc1LTExNTo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6OTgtMTE1OjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQtMTE2Ojk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MjMtMTE2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0NC0xMTY6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjctMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ny0xMTY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjY3LTExNjo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6OTAtMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEwMi0xMTY6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93Q2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMtMTE2OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTozMS0xMTU6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMxLTExNTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6NTItMTE1OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojc1LTExNTo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6OTgtMTE1OjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQtMTE2Ojk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MjMtMTE2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0NC0xMTY6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjctMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ny0xMTY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjY3LTExNjo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6OTAtMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEwMi0xMTY6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMtMTE2OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMi0xMTU6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTozMS0xMTU6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMxLTExNTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6NTItMTE1OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo3NS0xMTU6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojc1LTExNTo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6OTgtMTE1OjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQtMTE2Ojk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0LTExNjo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MjMtMTE2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo0NC0xMTY6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjctMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ny0xMTY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjY3LTExNjo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6OTAtMTE2Ojk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEwMi0xMTY6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2hDbG9zZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6My0xMTY6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjEyLTExNToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjEyLTExNTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjMxLTExNTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MzEtMTE1OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1Mi0xMTU6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojc1LTExNToxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojc1LTExNTo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6NzUtMTE1OjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo5OC0xMTU6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQtMTE2OjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NC0xMTY6OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQtMTE2OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MjMtMTE2OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjoyMy0xMTY6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQ0LTExNjo5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ny0xMTY6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjY3LTExNjo4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjctMTE2Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo5MC0xMTY6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MTAyLTExNjoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjctMTIyOjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjEwLTExNzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6MTAtMTE3OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoxMC0xMTc6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjMzLTExNzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NC0xMTk6MTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjEzLTExODoxMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjEzLTExODo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjMyLTExODo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MzItMTE4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo1My0xMTg6MTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4Ojc2LTExODoxMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4Ojc2LTExODoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4Ojc3LTExODo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzctMTE4Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMDAtMTE4OjEwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NS0xMTk6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo1LTExOToxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjUtMTE5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6MjQtMTE5OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToyNC0xMTk6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjQ1LTExOToxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjgtMTE5OjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjY4LTExOToxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjY5LTExOTo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjktMTE5Ojc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo5Mi0xMTk6MTAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToxMTItMTE5OjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvd0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo0LTExOToxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTMtMTE4OjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTMtMTE4OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MzItMTE4OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODozMi0xMTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjUzLTExODoxMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzYtMTE4OjExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzYtMTE4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzctMTE4Ojk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo3Ny0xMTg6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjEwMC0xMTg6MTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo1LTExOToxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjUtMTE5OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NS0xMTk6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToyNC0xMTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjI0LTExOTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NDUtMTE5OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OC0xMTk6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjgtMTE5OjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjktMTE5Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OS0xMTk6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjkyLTExOToxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjExMi0xMTk6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjQtMTE5OjExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODozMi0xMTg6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjMyLTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NTMtMTE4OjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo3Ni0xMTg6MTE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo3Ni0xMTg6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo3Ny0xMTg6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4Ojc3LTExODo4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTAwLTExODoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjUtMTE5OjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NS0xMTk6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo1LTExOTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjI0LTExOTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6MjQtMTE5OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo0NS0xMTk6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjY4LTExOToxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OC0xMTk6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OS0xMTk6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWJhdGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjY5LTExOTo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6OTItMTE5OjEwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6MTEyLTExOToxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaENsb3NlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo0LTExOToxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTMtMTE4OjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTMtMTE4OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MzItMTE4OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODozMi0xMTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjUzLTExODoxMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzYtMTE4OjExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzYtMTE4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NzctMTE4Ojk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo3Ny0xMTg6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjEwMC0xMTg6MTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo1LTExOToxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjUtMTE5OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NS0xMTk6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToyNC0xMTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjI0LTExOTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NDUtMTE5OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OC0xMTk6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjgtMTE5OjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NjktMTE5Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFiYXRlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo2OS0xMTk6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjkyLTExOToxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjExMi0xMTk6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo3LTEyMjoxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDoxMC0xMjA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjEwLTEyMDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhYmF0ZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6MTAtMTIwOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDozMy0xMjA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo0LTEyMTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMToxMy0xMjE6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMToyMC0xMjE6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9JbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTozMS0xMjE6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib25zZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MzEtMTIxOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjQ5LTEyMTo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlZERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDktMTIxOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo3LTEyMjoxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA3OjQ3LTEwNzo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjEtMTM1Ojg3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvUHJldmFsZW5jZUludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbiBpbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIG5vcm1hbGl6ZWQgcHJldmFsZW5jZSBwZXJpb2Qgb2YgYSBnaXZlbiBDb25kaXRpb24gcmVzb3VyY2UuXG5AY29tbWVudDogVXNlcyB0aGUgVG9JbnRlcnZhbCBhbmQgVG9BYmF0ZW1lbnRJbnRlcnZhbCBmdW5jdGlvbnMgdG8gZGV0ZXJtaW5lIHRoZSB3aWRlc3QgcG90ZW50aWFsIGludGVydmFsIGZyb21cbm9uc2V0IHRvIGFiYXRlbWVudCBhcyBzcGVjaWZpZWQgaW4gdGhlIGdpdmVuIENvbmRpdGlvbi5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9QcmV2YWxlbmNlSW50ZXJ2YWwiLCIoIiwiY29uZGl0aW9uIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjbGluaWNhbFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJ+IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiYWN0aXZlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgb3IgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNsaW5pY2FsU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIn4iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJyZWN1cnJlbmNlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gIG9yICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjbGluaWNhbFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJ+IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwicmVsYXBzZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsWyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvSW50ZXJ2YWwiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvbnNldCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVuZCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0FiYXRlbWVudEludGVydmFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuZWxzZVxuICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0ludGVydmFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29uZGl0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib25zZXQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbmQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9BYmF0ZW1lbnRJbnRlcnZhbCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoxLTEzNTo4NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQ4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDo0LTEzMjo0MSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDo0LTEzMTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDo0LTEzMDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjQtMTMwOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNsaW5pY2FsU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjQtMTMwOjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjMxLTEzMDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTo2LTEzMTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMxOjYtMTMxOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNsaW5pY2FsU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMxOjYtMTMxOjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMxOjMzLTEzMTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZWN1cnJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMyOjYtMTMyOjQxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6Ni0xMzI6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2xpbmljYWxTdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6Ni0xMzI6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6MzMtMTMyOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlbGFwc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6My0xMzM6ODciLAogICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzoxMi0xMzM6NDciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMzOjIxLTEzMzo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMzOjMyLTEzMzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJvbnNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozMi0xMzM6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzU1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzo1MC0xMzM6ODYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzo1Ny0xMzM6ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9BYmF0ZW1lbnRJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzo3Ny0xMzM6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTozLTEzNTo4NyIsCiAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNToxMi0xMzU6NDciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjIxLTEzNTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjMyLTEzNTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJvbnNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTozMi0xMzU6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo1MC0xMzU6ODYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo1Ny0xMzU6ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9BYmF0ZW1lbnRJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo3Ny0xMzU6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjQ4LTEyOTo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjEtMTQ2OjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzc4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG5AY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3NcbmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlXG5DUUwgbW9kZWwgaW5mby5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiRXh0ZW5zaW9ucyIsIigiLCJkb21haW5SZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ1cmwiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2OCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiwiLiIsImV4dGVuc2lvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1cmwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1cmwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDozLTE0NjoxMCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjMtMTQ0OjI4IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDozLTE0NDoyNiIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJleHRlbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NTo0LTE0NToyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ1OjEwLTE0NToxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ1OjE4LTE0NToyMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjozLTE0NjoxMCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3NSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDY6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mzo0My0xNDM6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInVybCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjYzLTE0Mzo2OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTM6MS0xNTQ6NTAiLAogICAgICAgICAgICAibmFtZSIgOiAiRXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM4NSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkV4dGVuc2lvbiIsIigiLCJkb21haW5SZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ1cmwiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRXh0ZW5zaW9uc1wiIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4NCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6My0xNTQ6NTAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6MTgtMTU0OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6MzEtMTU0OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6NDctMTU0OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInVybCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTM6NDItMTUzOjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzgwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mzo2Mi0xNTM6NjciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjEtMTY0OjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzk3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIHVybC5cbkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzc1xuY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInVybCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZWxlbWVudCIsIi4iLCJleHRlbnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJldHVybiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5NiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6My0xNjQ6MTAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjozLTE2MjoyMSIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6My0xNjI6MTkiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZXh0ZW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Mzo0LTE2MzoyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYzOjEwLTE2MzoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYzOjE4LTE2MzoyMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDozLTE2NDoxMCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjQ6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjM2LTE2MTo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MTo0OS0xNjE6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTcxOjEtMTcyOjQxIiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkV4dGVuc2lvbiIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwidXJsIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFeHRlbnNpb25zIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjozLTE3Mjo0MSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjoxOC0xNzI6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjoyOS0xNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcyOjM4LTE3Mjo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MzUtMTcxOjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInVybCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcxOjQ4LTE3MTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6MS0xODM6MTAiLAogICAgICAgICAgICAibmFtZSIgOiAiTW9kaWZpZXJFeHRlbnNpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLlxuQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzXG5jb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZVxuQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk1vZGlmaWVyRXh0ZW5zaW9ucyIsIigiLCJkb21haW5SZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ1cmwiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiwiLiIsIm1vZGlmaWVyRXh0ZW5zaW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjMtMTgzOjEwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODE6My0xODE6MzYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjMtMTgxOjM0IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6NC0xODI6MjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoxMC0xODI6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDExIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoxOC0xODI6MjAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6My0xODM6MTAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgzOjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6NTEtMTgwOjY0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MDo3MS0xODA6NzYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjEtMTkxOjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQyMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk1vZGlmaWVyRXh0ZW5zaW9uIiwiKCIsImRvbWFpblJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInVybCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTW9kaWZpZXJFeHRlbnNpb25zIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyMiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6My0xOTE6NTYiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6MTgtMTkxOjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MTozNy0xOTE6NTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDIwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MTo1My0xOTE6NTUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDo1MC0xOTA6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInVybCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjcwLTE5MDo3NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6MS0yMDE6MTAiLAogICAgICAgICAgICAibmFtZSIgOiAiTW9kaWZpZXJFeHRlbnNpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQzNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG5AY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3NcbmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLlxuKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJNb2RpZmllckV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDI0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCYWNrYm9uZUVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwidXJsIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbGVtZW50IiwiLiIsIm1vZGlmaWVyRXh0ZW5zaW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk5OjMtMjAxOjEwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTk6My0xOTk6MjkiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk5OjMtMTk5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDo0LTIwMDoyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAwOjEwLTIwMDoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAwOjE4LTIwMDoyMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMTozLTIwMToxMCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzMiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDE6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjQ0LTE5ODo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1CYWNrYm9uZUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInVybCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjY1LTE5ODo3MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6MS0yMDk6NDkiLAogICAgICAgICAgICAibmFtZSIgOiAiTW9kaWZpZXJFeHRlbnNpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDQyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLlxuQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmVcbmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLlxuKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJNb2RpZmllckV4dGVuc2lvbiIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJhY2tib25lRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ1cmwiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1vZGlmaWVyRXh0ZW5zaW9ucyIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDk6My0yMDk6NDkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDk6MTgtMjA5OjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDM4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOTozNy0yMDk6NDMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjQ2LTIwOTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6NDMtMjA4OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUJhY2tib25lRWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAidXJsIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6NjQtMjA4OjY5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDU2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjoxLTIxOToxMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCYXNlRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzc1xuY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkJhc2VFeHRlbnNpb25zIiwiKCIsImRvbWFpblJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkb21haW5SZXNvdXJjZSIsIi4iLCJleHRlbnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDU1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzozLTIxOToxMCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjMtMjE3OjI4IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQ1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzozLTIxNzoyNiIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJleHRlbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODo0LTIxODo2NiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEwLTIxODoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjE4LTIxODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoxOS0yMTg6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjY0LTIxODo2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOTozLTIxOToxMCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTk6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjo0Ny0yMTY6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6NjYtMjE2OjcxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNjoxLTIyNzo1MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCYXNlRXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ2MyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkJhc2VFeHRlbnNpb24iLCIoIiwiZG9tYWluUmVzb3VyY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9tYWluUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1OCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJhc2VFeHRlbnNpb25zIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYyIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNzozLTIyNzo1MSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNzoxOC0yMjc6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmFzZUV4dGVuc2lvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjc6MzMtMjI3OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjc6NDktMjI3OjUwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDU3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNjo0Ni0yMjY6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjY6NjUtMjI2OjcwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDc3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDoxLTIzNzoxMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCYXNlRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLlxuQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzXG5jb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiQmFzZUV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbGVtZW50IiwiLiIsImV4dGVuc2lvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1cmwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjMtMjM3OjEwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6My0yMzU6MjEiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjMtMjM1OjE5IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6NC0yMzY6NjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjoxMC0yMzY6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDcyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjoxOC0yMzY6NjYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6MTktMjM2OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjo2NC0yMzY6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6My0yMzc6MTAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDY0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDo0MC0yMzQ6NDYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDo1Mi0yMzQ6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0ODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjEtMjQ1OjQ0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkJhc2VFeHRlbnNpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDg0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLlxuQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmVcbmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLlxuKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJCYXNlRXh0ZW5zaW9uIiwiKCIsImVsZW1lbnQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3OCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJpZCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQmFzZUV4dGVuc2lvbnMiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6My0yNDU6NDQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6MTgtMjQ1OjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJhc2VFeHRlbnNpb25zIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0ODAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ1OjMzLTI0NTozOSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6NDItMjQ1OjQzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjM5LTI0NDo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjUxLTI0NDo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTI6MS0yNTU6MTAiLAogICAgICAgICAgICAibmFtZSIgOiAiQmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzc1xuY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkJhc2VNb2RpZmllckV4dGVuc2lvbnMiLCIoIiwiZG9tYWluUmVzb3VyY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9tYWluUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiwiLiIsIm1vZGlmaWVyRXh0ZW5zaW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVybCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJldHVybiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6My0yNTU6MTAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDg4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MzozLTI1MzozNiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6My0yNTM6MzQiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibW9kaWZpZXJFeHRlbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NDo0LTI1NDo2NiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU0OjEwLTI1NDoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU0OjE4LTI1NDo2NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NDoxOS0yNTQ6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU0OjY0LTI1NDo2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDk2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NTozLTI1NToxMCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5NSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTU6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Mjo1NS0yNTI6NjgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTI6NzQtMjUyOjc5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTA1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MjoxLTI2Mzo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCYXNlTW9kaWZpZXJFeHRlbnNpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTA1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlXG5pcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiQmFzZU1vZGlmaWVyRXh0ZW5zaW9uIiwiKCIsImRvbWFpblJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCYXNlTW9kaWZpZXJFeHRlbnNpb25zIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTA0IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MzozLTI2Mzo1OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MzoxOC0yNjM6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmFzZU1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0MS0yNjM6NTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo1Ny0yNjM6NTgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjU0LTI2Mjo2NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Eb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mjo3My0yNjI6NzgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjEtMjczOjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJhc2VNb2RpZmllckV4dGVuc2lvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTE5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBiYXNlLUZISVIgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzc1xuY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkJhc2VNb2RpZmllckV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTA2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCYWNrYm9uZUVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTE4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVsZW1lbnQiLCIuIiwibW9kaWZpZXJFeHRlbnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTE4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MTozLTI3MzoxMCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcxOjMtMjcxOjI5IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTA4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MTozLTI3MToyNyIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtb2RpZmllckV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzI6NC0yNzI6NjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MjoxMC0yNzI6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTE0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MjoxOC0yNzI6NjYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzI6MTktMjcyOjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Mjo2NC0yNzI6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzM6My0yNzM6MTAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjczOjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo0OC0yNzA6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QmFja2JvbmVFbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjY4LTI3MDo3MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MS0yODE6NTIiLAogICAgICAgICAgICAibmFtZSIgOiAiQmFzZU1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUyNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlXG5pcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiQmFzZU1vZGlmaWVyRXh0ZW5zaW9uIiwiKCIsImVsZW1lbnQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyMCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQmFja2JvbmVFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCYXNlTW9kaWZpZXJFeHRlbnNpb25zIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjMtMjgxOjUyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjE4LTI4MTo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJCYXNlTW9kaWZpZXJFeHRlbnNpb25zIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjQxLTI4MTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6NTAtMjgxOjUxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjQ3LTI4MDo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1CYWNrYm9uZUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6NjctMjgwOjcyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers-2.json new file mode 100644 index 0000000000..d35ce4ddca --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers-2.json @@ -0,0 +1,21441 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "1428", + "s" : [ { + "value" : [ "/*\n@author: Bryn Rhodes\n@description: This library defines functions to convert between FHIR\n data types and CQL system-defined types, as well as functions to support\n FHIRPath implementation. For more information, see the FHIRHelpers wiki page:\n https://github.com/cqframework/clinical_quality_language/wiki/FHIRHelpers\n@allowFluent: true\n*/\n","library FHIRHelpers version '4.0.1'" ] + } ] + } + } ], + "identifier" : { + "id" : "FHIRHelpers", + "system" : "http://smart.who.int/smart-immunizations-measles", + "version" : "4.0.1" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "11:1-11:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "statements" : { + "def" : [ { + "localId" : "25", + "locator" : "13:1-20:62", + "name" : "ToInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "25", + "s" : [ { + "value" : [ "","define function ","ToInterval","(","period"," " ] + }, { + "r" : "2", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "24", + "s" : [ { + "r" : "24", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "4", + "s" : [ { + "r" : "3", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "5", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "8", + "s" : [ { + "r" : "7", + "s" : [ { + "r" : "6", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "7", + "s" : [ { + "value" : [ "\"start\"" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "15", + "s" : [ { + "value" : [ "Interval(" ] + }, { + "r" : "11", + "s" : [ { + "r" : "10", + "s" : [ { + "r" : "9", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "10", + "s" : [ { + "value" : [ "\"start\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "11", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "14", + "s" : [ { + "r" : "13", + "s" : [ { + "r" : "12", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "13", + "s" : [ { + "value" : [ "\"end\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "14", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + }, { + "value" : [ "\n else\n " ] + }, { + "r" : "22", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "18", + "s" : [ { + "r" : "17", + "s" : [ { + "r" : "16", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "\"start\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "18", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "21", + "s" : [ { + "r" : "20", + "s" : [ { + "r" : "19", + "s" : [ { + "value" : [ "period" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "20", + "s" : [ { + "value" : [ "\"end\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "24", + "locator" : "14:5-20:62", + "type" : "If", + "condition" : { + "localId" : "4", + "locator" : "14:8-14:21", + "type" : "IsNull", + "operand" : { + "localId" : "3", + "locator" : "14:8-14:13", + "name" : "period", + "type" : "OperandRef" + } + }, + "then" : { + "type" : "As", + "operand" : { + "localId" : "5", + "locator" : "15:9-15:12", + "type" : "Null" + }, + "asTypeSpecifier" : { + "type" : "IntervalTypeSpecifier", + "pointType" : { + "name" : "{urn:hl7-org:elm-types:r1}DateTime", + "type" : "NamedTypeSpecifier" + } + } + }, + "else" : { + "localId" : "23", + "locator" : "17:9-20:62", + "type" : "If", + "condition" : { + "localId" : "8", + "locator" : "17:12-17:33", + "type" : "IsNull", + "operand" : { + "localId" : "7", + "locator" : "17:12-17:25", + "path" : "start", + "type" : "Property", + "source" : { + "localId" : "6", + "locator" : "17:12-17:17", + "name" : "period", + "type" : "OperandRef" + } + } + }, + "then" : { + "localId" : "15", + "locator" : "18:13-18:62", + "lowClosed" : false, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "11", + "locator" : "18:22-18:41", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "10", + "locator" : "18:22-18:35", + "path" : "start", + "type" : "Property", + "source" : { + "localId" : "9", + "locator" : "18:22-18:27", + "name" : "period", + "type" : "OperandRef" + } + } + }, + "high" : { + "localId" : "14", + "locator" : "18:44-18:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "13", + "locator" : "18:44-18:55", + "path" : "end", + "type" : "Property", + "source" : { + "localId" : "12", + "locator" : "18:44-18:49", + "name" : "period", + "type" : "OperandRef" + } + } + } + }, + "else" : { + "localId" : "22", + "locator" : "20:13-20:62", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "18", + "locator" : "20:22-20:41", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "17", + "locator" : "20:22-20:35", + "path" : "start", + "type" : "Property", + "source" : { + "localId" : "16", + "locator" : "20:22-20:27", + "name" : "period", + "type" : "OperandRef" + } + } + }, + "high" : { + "localId" : "21", + "locator" : "20:44-20:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "20", + "locator" : "20:44-20:55", + "path" : "end", + "type" : "Property", + "source" : { + "localId" : "19", + "locator" : "20:44-20:49", + "name" : "period", + "type" : "OperandRef" + } + } + } + } + } + }, + "operand" : [ { + "name" : "period", + "operandTypeSpecifier" : { + "localId" : "2", + "locator" : "13:35-13:45", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "54", + "locator" : "22:1-33:7", + "name" : "ToCalendarUnit", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "value" : [ "","define function ","ToCalendarUnit","(","unit"," " ] + }, { + "r" : "26", + "s" : [ { + "value" : [ "System",".","String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "53", + "s" : [ { + "r" : "53", + "s" : [ { + "value" : [ "case " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "unit" ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "30", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "28", + "s" : [ { + "value" : [ "'ms'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "29", + "s" : [ { + "value" : [ "'millisecond'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "'s'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "32", + "s" : [ { + "value" : [ "'second'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "36", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "34", + "s" : [ { + "value" : [ "'min'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "'minute'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "39", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "37", + "s" : [ { + "value" : [ "'h'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "38", + "s" : [ { + "value" : [ "'hour'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "42", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "40", + "s" : [ { + "value" : [ "'d'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "41", + "s" : [ { + "value" : [ "'day'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "45", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "43", + "s" : [ { + "value" : [ "'wk'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "44", + "s" : [ { + "value" : [ "'week'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "48", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "46", + "s" : [ { + "value" : [ "'mo'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "47", + "s" : [ { + "value" : [ "'month'" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "51", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "'a'" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "50", + "s" : [ { + "value" : [ "'year'" ] + } ] + } ] + }, { + "value" : [ "\n else " ] + }, { + "r" : "52", + "s" : [ { + "value" : [ "unit" ] + } ] + }, { + "value" : [ "\n end" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "53", + "locator" : "23:5-33:7", + "type" : "Case", + "comparand" : { + "localId" : "27", + "locator" : "23:10-23:13", + "name" : "unit", + "type" : "OperandRef" + }, + "caseItem" : [ { + "localId" : "30", + "locator" : "24:9-24:36", + "when" : { + "localId" : "28", + "locator" : "24:14-24:17", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "ms", + "type" : "Literal" + }, + "then" : { + "localId" : "29", + "locator" : "24:24-24:36", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "millisecond", + "type" : "Literal" + } + }, { + "localId" : "33", + "locator" : "25:9-25:30", + "when" : { + "localId" : "31", + "locator" : "25:14-25:16", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "s", + "type" : "Literal" + }, + "then" : { + "localId" : "32", + "locator" : "25:23-25:30", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "second", + "type" : "Literal" + } + }, { + "localId" : "36", + "locator" : "26:9-26:32", + "when" : { + "localId" : "34", + "locator" : "26:14-26:18", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "min", + "type" : "Literal" + }, + "then" : { + "localId" : "35", + "locator" : "26:25-26:32", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "minute", + "type" : "Literal" + } + }, { + "localId" : "39", + "locator" : "27:9-27:28", + "when" : { + "localId" : "37", + "locator" : "27:14-27:16", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "h", + "type" : "Literal" + }, + "then" : { + "localId" : "38", + "locator" : "27:23-27:28", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "hour", + "type" : "Literal" + } + }, { + "localId" : "42", + "locator" : "28:9-28:27", + "when" : { + "localId" : "40", + "locator" : "28:14-28:16", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "d", + "type" : "Literal" + }, + "then" : { + "localId" : "41", + "locator" : "28:23-28:27", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "day", + "type" : "Literal" + } + }, { + "localId" : "45", + "locator" : "29:9-29:29", + "when" : { + "localId" : "43", + "locator" : "29:14-29:17", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "wk", + "type" : "Literal" + }, + "then" : { + "localId" : "44", + "locator" : "29:24-29:29", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "week", + "type" : "Literal" + } + }, { + "localId" : "48", + "locator" : "30:9-30:30", + "when" : { + "localId" : "46", + "locator" : "30:14-30:17", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "mo", + "type" : "Literal" + }, + "then" : { + "localId" : "47", + "locator" : "30:24-30:30", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "month", + "type" : "Literal" + } + }, { + "localId" : "51", + "locator" : "31:9-31:28", + "when" : { + "localId" : "49", + "locator" : "31:14-31:16", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "a", + "type" : "Literal" + }, + "then" : { + "localId" : "50", + "locator" : "31:23-31:28", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "year", + "type" : "Literal" + } + } ], + "else" : { + "localId" : "52", + "locator" : "32:14-32:17", + "name" : "unit", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "unit", + "operandTypeSpecifier" : { + "localId" : "26", + "locator" : "22:37-22:49", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "129", + "locator" : "35:1-46:7", + "name" : "ToQuantity", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "129", + "s" : [ { + "value" : [ "","define function ","ToQuantity","(","quantity"," " ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "128", + "s" : [ { + "r" : "128", + "s" : [ { + "value" : [ "case\n " ] + }, { + "r" : "59", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "57", + "s" : [ { + "r" : "56", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "58", + "value" : [ " then ","null" ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "64", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "62", + "s" : [ { + "r" : "61", + "s" : [ { + "r" : "60", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "61", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "63", + "value" : [ " then ","null" ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "74", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "67", + "s" : [ { + "r" : "66", + "s" : [ { + "r" : "65", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "66", + "s" : [ { + "value" : [ "comparator" ] + } ] + } ] + }, { + "value" : [ " is not null" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "73", + "s" : [ { + "r" : "68", + "value" : [ "Message","(","null",", ","true",", " ] + }, { + "r" : "70", + "s" : [ { + "value" : [ "'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "71", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "72", + "s" : [ { + "value" : [ "'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.'" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "103", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "89", + "s" : [ { + "r" : "83", + "s" : [ { + "r" : "77", + "s" : [ { + "r" : "76", + "s" : [ { + "r" : "75", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "76", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "value" : [ " or " ] + }, { + "r" : "82", + "s" : [ { + "r" : "80", + "s" : [ { + "r" : "79", + "s" : [ { + "r" : "78", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "81", + "s" : [ { + "value" : [ "'http://unitsofmeasure.org'" ] + } ] + } ] + } ] + }, { + "value" : [ "\n or " ] + }, { + "r" : "88", + "s" : [ { + "r" : "86", + "s" : [ { + "r" : "85", + "s" : [ { + "r" : "84", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "85", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "86", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "87", + "s" : [ { + "value" : [ "'http://hl7.org/fhirpath/CodeSystem/calendar-units'" ] + } ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "102", + "s" : [ { + "value" : [ "System",".","Quantity"," { " ] + }, { + "s" : [ { + "value" : [ "value",": " ] + }, { + "r" : "92", + "s" : [ { + "r" : "91", + "s" : [ { + "r" : "90", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "91", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "92", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "s" : [ { + "value" : [ "unit",": " ] + }, { + "r" : "101", + "s" : [ { + "value" : [ "ToCalendarUnit","(" ] + }, { + "r" : "100", + "s" : [ { + "value" : [ "Coalesce","(" ] + }, { + "r" : "95", + "s" : [ { + "r" : "94", + "s" : [ { + "r" : "93", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "94", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "95", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "98", + "s" : [ { + "r" : "97", + "s" : [ { + "r" : "96", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "97", + "s" : [ { + "value" : [ "unit" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "98", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "99", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + }, { + "value" : [ "\n else\n " ] + }, { + "r" : "127", + "s" : [ { + "r" : "104", + "value" : [ "Message","(","null",", ","true",", " ] + }, { + "r" : "106", + "s" : [ { + "value" : [ "'FHIRHelpers.ToQuantity.InvalidFHIRQuantity'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "107", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "126", + "s" : [ { + "r" : "124", + "s" : [ { + "r" : "120", + "s" : [ { + "r" : "118", + "s" : [ { + "r" : "114", + "s" : [ { + "r" : "112", + "s" : [ { + "r" : "108", + "s" : [ { + "value" : [ "'Invalid FHIR Quantity code: '" ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "111", + "s" : [ { + "r" : "110", + "s" : [ { + "r" : "109", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "110", + "s" : [ { + "value" : [ "unit" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "111", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "113", + "s" : [ { + "value" : [ "' ('" ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "117", + "s" : [ { + "r" : "116", + "s" : [ { + "r" : "115", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "116", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "117", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "119", + "s" : [ { + "value" : [ "'|'" ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "123", + "s" : [ { + "r" : "122", + "s" : [ { + "r" : "121", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "122", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "123", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "125", + "s" : [ { + "value" : [ "')'" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n end" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "128", + "locator" : "36:5-46:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "59", + "locator" : "37:9-37:39", + "when" : { + "localId" : "57", + "locator" : "37:14-37:29", + "type" : "IsNull", + "operand" : { + "localId" : "56", + "locator" : "37:14-37:21", + "name" : "quantity", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "58", + "locator" : "37:36-37:39", + "type" : "Null" + } + } + }, { + "localId" : "64", + "locator" : "38:9-38:45", + "when" : { + "localId" : "62", + "locator" : "38:14-38:35", + "type" : "IsNull", + "operand" : { + "localId" : "61", + "locator" : "38:14-38:27", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "60", + "locator" : "38:14-38:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "63", + "locator" : "38:42-38:45", + "type" : "Null" + } + } + }, { + "localId" : "74", + "locator" : "39:9-40:189", + "when" : { + "localId" : "67", + "locator" : "39:14-39:44", + "type" : "Not", + "operand" : { + "locator" : "39:14-39:44", + "type" : "IsNull", + "operand" : { + "localId" : "66", + "locator" : "39:14-39:32", + "path" : "comparator", + "type" : "Property", + "source" : { + "localId" : "65", + "locator" : "39:14-39:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "73", + "locator" : "40:13-40:189", + "type" : "Message", + "source" : { + "localId" : "68", + "locator" : "40:21-40:24", + "type" : "Null" + }, + "condition" : { + "localId" : "69", + "locator" : "40:27-40:30", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "70", + "locator" : "40:33-40:87", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported", + "type" : "Literal" + }, + "severity" : { + "localId" : "71", + "locator" : "40:90-40:96", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "72", + "locator" : "40:99-40:188", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.", + "type" : "Literal" + } + } + } + }, { + "localId" : "103", + "locator" : "41:9-43:138", + "when" : { + "localId" : "89", + "locator" : "41:14-42:92", + "type" : "Or", + "operand" : [ { + "localId" : "83", + "locator" : "41:14-41:91", + "type" : "Or", + "operand" : [ { + "localId" : "77", + "locator" : "41:14-41:36", + "type" : "IsNull", + "operand" : { + "localId" : "76", + "locator" : "41:14-41:28", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "75", + "locator" : "41:14-41:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "82", + "locator" : "41:41-41:91", + "type" : "Equal", + "operand" : [ { + "localId" : "80", + "locator" : "41:41-41:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "79", + "locator" : "41:41-41:55", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "78", + "locator" : "41:41-41:48", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "81", + "locator" : "41:65-41:91", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://unitsofmeasure.org", + "type" : "Literal" + } ] + } ] + }, { + "localId" : "88", + "locator" : "42:18-42:92", + "type" : "Equal", + "operand" : [ { + "localId" : "86", + "locator" : "42:18-42:38", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "85", + "locator" : "42:18-42:32", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "84", + "locator" : "42:18-42:25", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "87", + "locator" : "42:42-42:92", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhirpath/CodeSystem/calendar-units", + "type" : "Literal" + } ] + } ] + }, + "then" : { + "localId" : "102", + "locator" : "43:13-43:138", + "classType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "Instance", + "element" : [ { + "name" : "value", + "value" : { + "localId" : "92", + "locator" : "43:38-43:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "91", + "locator" : "43:38-43:51", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "90", + "locator" : "43:38-43:45", + "name" : "quantity", + "type" : "OperandRef" + } + } + } + }, { + "name" : "unit", + "value" : { + "localId" : "101", + "locator" : "43:66-43:136", + "name" : "ToCalendarUnit", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "100", + "locator" : "43:81-43:135", + "type" : "Coalesce", + "operand" : [ { + "localId" : "95", + "locator" : "43:90-43:108", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "94", + "locator" : "43:90-43:102", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "93", + "locator" : "43:90-43:97", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "98", + "locator" : "43:111-43:129", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "97", + "locator" : "43:111-43:123", + "path" : "unit", + "type" : "Property", + "source" : { + "localId" : "96", + "locator" : "43:111-43:118", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "99", + "locator" : "43:132-43:134", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + } ] + } ] + } + } ] + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "127", + "locator" : "45:13-45:205", + "type" : "Message", + "source" : { + "localId" : "104", + "locator" : "45:21-45:24", + "type" : "Null" + }, + "condition" : { + "localId" : "105", + "locator" : "45:27-45:30", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "106", + "locator" : "45:33-45:76", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "FHIRHelpers.ToQuantity.InvalidFHIRQuantity", + "type" : "Literal" + }, + "severity" : { + "localId" : "107", + "locator" : "45:79-45:85", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "126", + "locator" : "45:88-45:204", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "124", + "locator" : "45:88-45:198", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "120", + "locator" : "45:88-45:176", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "118", + "locator" : "45:88-45:170", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "114", + "locator" : "45:88-45:146", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "112", + "locator" : "45:88-45:139", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "108", + "locator" : "45:88-45:117", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Invalid FHIR Quantity code: ", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "111", + "locator" : "45:121-45:139", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "110", + "locator" : "45:121-45:133", + "path" : "unit", + "type" : "Property", + "source" : { + "localId" : "109", + "locator" : "45:121-45:128", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "113", + "locator" : "45:143-45:146", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : " (", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "117", + "locator" : "45:150-45:170", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "116", + "locator" : "45:150-45:164", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "115", + "locator" : "45:150-45:157", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "119", + "locator" : "45:174-45:176", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "|", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "123", + "locator" : "45:180-45:198", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "122", + "locator" : "45:180-45:192", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "121", + "locator" : "45:180-45:187", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "125", + "locator" : "45:202-45:204", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ")", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + } + } + } + }, + "operand" : [ { + "name" : "quantity", + "operandTypeSpecifier" : { + "localId" : "55", + "locator" : "35:37-35:49", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "194", + "locator" : "48:1-57:7", + "name" : "ToQuantityIgnoringComparator", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "194", + "s" : [ { + "value" : [ "","define function ","ToQuantityIgnoringComparator","(","quantity"," " ] + }, { + "r" : "130", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "193", + "s" : [ { + "r" : "193", + "s" : [ { + "value" : [ "case\n " ] + }, { + "r" : "134", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "132", + "s" : [ { + "r" : "131", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "133", + "value" : [ " then ","null" ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "139", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "137", + "s" : [ { + "r" : "136", + "s" : [ { + "r" : "135", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "136", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "138", + "value" : [ " then ","null" ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "168", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "154", + "s" : [ { + "r" : "148", + "s" : [ { + "r" : "142", + "s" : [ { + "r" : "141", + "s" : [ { + "r" : "140", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "141", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "value" : [ " or " ] + }, { + "r" : "147", + "s" : [ { + "r" : "145", + "s" : [ { + "r" : "144", + "s" : [ { + "r" : "143", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "144", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "145", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "146", + "s" : [ { + "value" : [ "'http://unitsofmeasure.org'" ] + } ] + } ] + } ] + }, { + "value" : [ "\n or " ] + }, { + "r" : "153", + "s" : [ { + "r" : "151", + "s" : [ { + "r" : "150", + "s" : [ { + "r" : "149", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "150", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "151", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "152", + "s" : [ { + "value" : [ "'http://hl7.org/fhirpath/CodeSystem/calendar-units'" ] + } ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "167", + "s" : [ { + "value" : [ "System",".","Quantity"," { " ] + }, { + "s" : [ { + "value" : [ "value",": " ] + }, { + "r" : "157", + "s" : [ { + "r" : "156", + "s" : [ { + "r" : "155", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "156", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "157", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "s" : [ { + "value" : [ "unit",": " ] + }, { + "r" : "166", + "s" : [ { + "value" : [ "ToCalendarUnit","(" ] + }, { + "r" : "165", + "s" : [ { + "value" : [ "Coalesce","(" ] + }, { + "r" : "160", + "s" : [ { + "r" : "159", + "s" : [ { + "r" : "158", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "159", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "160", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "163", + "s" : [ { + "r" : "162", + "s" : [ { + "r" : "161", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "162", + "s" : [ { + "value" : [ "unit" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "163", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "164", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + }, { + "value" : [ "\n else\n " ] + }, { + "r" : "192", + "s" : [ { + "r" : "169", + "value" : [ "Message","(","null",", ","true",", " ] + }, { + "r" : "171", + "s" : [ { + "value" : [ "'FHIRHelpers.ToQuantity.InvalidFHIRQuantity'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "172", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "191", + "s" : [ { + "r" : "189", + "s" : [ { + "r" : "185", + "s" : [ { + "r" : "183", + "s" : [ { + "r" : "179", + "s" : [ { + "r" : "177", + "s" : [ { + "r" : "173", + "s" : [ { + "value" : [ "'Invalid FHIR Quantity code: '" ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "176", + "s" : [ { + "r" : "175", + "s" : [ { + "r" : "174", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "175", + "s" : [ { + "value" : [ "unit" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "176", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "178", + "s" : [ { + "value" : [ "' ('" ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "182", + "s" : [ { + "r" : "181", + "s" : [ { + "r" : "180", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "181", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "182", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "'|'" ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "188", + "s" : [ { + "r" : "187", + "s" : [ { + "r" : "186", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "187", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "188", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ " & " ] + }, { + "r" : "190", + "s" : [ { + "value" : [ "')'" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n end" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "193", + "locator" : "49:5-57:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "134", + "locator" : "50:9-50:39", + "when" : { + "localId" : "132", + "locator" : "50:14-50:29", + "type" : "IsNull", + "operand" : { + "localId" : "131", + "locator" : "50:14-50:21", + "name" : "quantity", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "133", + "locator" : "50:36-50:39", + "type" : "Null" + } + } + }, { + "localId" : "139", + "locator" : "51:9-51:45", + "when" : { + "localId" : "137", + "locator" : "51:14-51:35", + "type" : "IsNull", + "operand" : { + "localId" : "136", + "locator" : "51:14-51:27", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "135", + "locator" : "51:14-51:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "138", + "locator" : "51:42-51:45", + "type" : "Null" + } + } + }, { + "localId" : "168", + "locator" : "52:9-54:138", + "when" : { + "localId" : "154", + "locator" : "52:14-53:92", + "type" : "Or", + "operand" : [ { + "localId" : "148", + "locator" : "52:14-52:91", + "type" : "Or", + "operand" : [ { + "localId" : "142", + "locator" : "52:14-52:36", + "type" : "IsNull", + "operand" : { + "localId" : "141", + "locator" : "52:14-52:28", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "140", + "locator" : "52:14-52:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "147", + "locator" : "52:41-52:91", + "type" : "Equal", + "operand" : [ { + "localId" : "145", + "locator" : "52:41-52:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "144", + "locator" : "52:41-52:55", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "143", + "locator" : "52:41-52:48", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "146", + "locator" : "52:65-52:91", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://unitsofmeasure.org", + "type" : "Literal" + } ] + } ] + }, { + "localId" : "153", + "locator" : "53:18-53:92", + "type" : "Equal", + "operand" : [ { + "localId" : "151", + "locator" : "53:18-53:38", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "150", + "locator" : "53:18-53:32", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "149", + "locator" : "53:18-53:25", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "152", + "locator" : "53:42-53:92", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://hl7.org/fhirpath/CodeSystem/calendar-units", + "type" : "Literal" + } ] + } ] + }, + "then" : { + "localId" : "167", + "locator" : "54:13-54:138", + "classType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "Instance", + "element" : [ { + "name" : "value", + "value" : { + "localId" : "157", + "locator" : "54:38-54:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "156", + "locator" : "54:38-54:51", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "155", + "locator" : "54:38-54:45", + "name" : "quantity", + "type" : "OperandRef" + } + } + } + }, { + "name" : "unit", + "value" : { + "localId" : "166", + "locator" : "54:66-54:136", + "name" : "ToCalendarUnit", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "165", + "locator" : "54:81-54:135", + "type" : "Coalesce", + "operand" : [ { + "localId" : "160", + "locator" : "54:90-54:108", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "159", + "locator" : "54:90-54:102", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "158", + "locator" : "54:90-54:97", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "163", + "locator" : "54:111-54:129", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "162", + "locator" : "54:111-54:123", + "path" : "unit", + "type" : "Property", + "source" : { + "localId" : "161", + "locator" : "54:111-54:118", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "localId" : "164", + "locator" : "54:132-54:134", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + } ] + } ] + } + } ] + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "192", + "locator" : "56:13-56:205", + "type" : "Message", + "source" : { + "localId" : "169", + "locator" : "56:21-56:24", + "type" : "Null" + }, + "condition" : { + "localId" : "170", + "locator" : "56:27-56:30", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "171", + "locator" : "56:33-56:76", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "FHIRHelpers.ToQuantity.InvalidFHIRQuantity", + "type" : "Literal" + }, + "severity" : { + "localId" : "172", + "locator" : "56:79-56:85", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "191", + "locator" : "56:88-56:204", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "189", + "locator" : "56:88-56:198", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "185", + "locator" : "56:88-56:176", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "183", + "locator" : "56:88-56:170", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "179", + "locator" : "56:88-56:146", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "177", + "locator" : "56:88-56:139", + "type" : "Concatenate", + "operand" : [ { + "type" : "Coalesce", + "operand" : [ { + "localId" : "173", + "locator" : "56:88-56:117", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Invalid FHIR Quantity code: ", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "176", + "locator" : "56:121-56:139", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "175", + "locator" : "56:121-56:133", + "path" : "unit", + "type" : "Property", + "source" : { + "localId" : "174", + "locator" : "56:121-56:128", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "178", + "locator" : "56:143-56:146", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : " (", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "182", + "locator" : "56:150-56:170", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "181", + "locator" : "56:150-56:164", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "180", + "locator" : "56:150-56:157", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "184", + "locator" : "56:174-56:176", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "|", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "188", + "locator" : "56:180-56:198", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "187", + "locator" : "56:180-56:192", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "186", + "locator" : "56:180-56:187", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + }, { + "type" : "Coalesce", + "operand" : [ { + "localId" : "190", + "locator" : "56:202-56:204", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ")", + "type" : "Literal" + }, { + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "", + "type" : "Literal" + } ] + } ] + } + } + } + }, + "operand" : [ { + "name" : "quantity", + "operandTypeSpecifier" : { + "localId" : "130", + "locator" : "48:55-48:67", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "233", + "locator" : "59:1-84:11", + "name" : "ToInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "233", + "s" : [ { + "value" : [ "","define function ","ToInterval","(","quantity"," " ] + }, { + "r" : "195", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "232", + "s" : [ { + "r" : "232", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "197", + "s" : [ { + "r" : "196", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "198", + "value" : [ " then ","null"," else\n " ] + }, { + "r" : "231", + "s" : [ { + "value" : [ "case " ] + }, { + "r" : "201", + "s" : [ { + "r" : "200", + "s" : [ { + "r" : "199", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "200", + "s" : [ { + "value" : [ "comparator" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "202", + "s" : [ { + "value" : [ "'<'" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "206", + "s" : [ { + "r" : "203", + "value" : [ "Interval[\n ","null",",\n " ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "ToQuantityIgnoringComparator","(" ] + }, { + "r" : "204", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "213", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "208", + "s" : [ { + "value" : [ "'<='" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "212", + "s" : [ { + "r" : "209", + "value" : [ "Interval[\n ","null",",\n " ] + }, { + "r" : "211", + "s" : [ { + "value" : [ "ToQuantityIgnoringComparator","(" ] + }, { + "r" : "210", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n ]" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "219", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "'>='" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "218", + "s" : [ { + "value" : [ "Interval[\n " ] + }, { + "r" : "216", + "s" : [ { + "value" : [ "ToQuantityIgnoringComparator","(" ] + }, { + "r" : "215", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "217", + "value" : [ ",\n ","null","\n ]" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "225", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "220", + "s" : [ { + "value" : [ "'>'" ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "Interval(\n " ] + }, { + "r" : "222", + "s" : [ { + "value" : [ "ToQuantityIgnoringComparator","(" ] + }, { + "r" : "221", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "223", + "value" : [ ",\n ","null","\n ]" ] + } ] + } ] + }, { + "value" : [ "\n else\n " ] + }, { + "r" : "230", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "227", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "226", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "229", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "228", + "s" : [ { + "value" : [ "quantity" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "]" ] + } ] + }, { + "value" : [ "\n end" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "232", + "locator" : "60:5-84:11", + "type" : "If", + "condition" : { + "localId" : "197", + "locator" : "60:8-60:23", + "type" : "IsNull", + "operand" : { + "localId" : "196", + "locator" : "60:8-60:15", + "name" : "quantity", + "type" : "OperandRef" + } + }, + "then" : { + "type" : "As", + "operand" : { + "localId" : "198", + "locator" : "60:30-60:33", + "type" : "Null" + }, + "asTypeSpecifier" : { + "type" : "IntervalTypeSpecifier", + "pointType" : { + "name" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "NamedTypeSpecifier" + } + } + }, + "else" : { + "localId" : "231", + "locator" : "61:9-84:11", + "type" : "Case", + "comparand" : { + "localId" : "201", + "locator" : "61:14-61:38", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "200", + "locator" : "61:14-61:32", + "path" : "comparator", + "type" : "Property", + "source" : { + "localId" : "199", + "locator" : "61:14-61:21", + "name" : "quantity", + "type" : "OperandRef" + } + } + }, + "caseItem" : [ { + "localId" : "207", + "locator" : "62:13-66:17", + "when" : { + "localId" : "202", + "locator" : "62:18-62:20", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "<", + "type" : "Literal" + }, + "then" : { + "localId" : "206", + "locator" : "63:17-66:17", + "lowClosed" : true, + "highClosed" : false, + "type" : "Interval", + "low" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "203", + "locator" : "64:21-64:24", + "type" : "Null" + } + }, + "high" : { + "localId" : "205", + "locator" : "65:21-65:58", + "name" : "ToQuantityIgnoringComparator", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "204", + "locator" : "65:50-65:57", + "name" : "quantity", + "type" : "OperandRef" + } ] + } + } + }, { + "localId" : "213", + "locator" : "67:13-71:17", + "when" : { + "localId" : "208", + "locator" : "67:18-67:21", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "<=", + "type" : "Literal" + }, + "then" : { + "localId" : "212", + "locator" : "68:17-71:17", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "209", + "locator" : "69:21-69:24", + "type" : "Null" + } + }, + "high" : { + "localId" : "211", + "locator" : "70:21-70:58", + "name" : "ToQuantityIgnoringComparator", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "210", + "locator" : "70:50-70:57", + "name" : "quantity", + "type" : "OperandRef" + } ] + } + } + }, { + "localId" : "219", + "locator" : "72:13-76:17", + "when" : { + "localId" : "214", + "locator" : "72:18-72:21", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ">=", + "type" : "Literal" + }, + "then" : { + "localId" : "218", + "locator" : "73:17-76:17", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "216", + "locator" : "74:21-74:58", + "name" : "ToQuantityIgnoringComparator", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "215", + "locator" : "74:50-74:57", + "name" : "quantity", + "type" : "OperandRef" + } ] + }, + "high" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "217", + "locator" : "75:21-75:24", + "type" : "Null" + } + } + } + }, { + "localId" : "225", + "locator" : "77:13-81:17", + "when" : { + "localId" : "220", + "locator" : "77:18-77:20", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ">", + "type" : "Literal" + }, + "then" : { + "localId" : "224", + "locator" : "78:17-81:17", + "lowClosed" : false, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "222", + "locator" : "79:21-79:58", + "name" : "ToQuantityIgnoringComparator", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "221", + "locator" : "79:50-79:57", + "name" : "quantity", + "type" : "OperandRef" + } ] + }, + "high" : { + "asType" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "As", + "operand" : { + "localId" : "223", + "locator" : "80:21-80:24", + "type" : "Null" + } + } + } + } ], + "else" : { + "localId" : "230", + "locator" : "83:17-83:68", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "227", + "locator" : "83:26-83:45", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "226", + "locator" : "83:37-83:44", + "name" : "quantity", + "type" : "OperandRef" + } ] + }, + "high" : { + "localId" : "229", + "locator" : "83:48-83:67", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "228", + "locator" : "83:59-83:66", + "name" : "quantity", + "type" : "OperandRef" + } ] + } + } + } + }, + "operand" : [ { + "name" : "quantity", + "operandTypeSpecifier" : { + "localId" : "195", + "locator" : "59:37-59:49", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "246", + "locator" : "86:1-90:107", + "name" : "ToRatio", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "246", + "s" : [ { + "value" : [ "","define function ","ToRatio","(","ratio"," " ] + }, { + "r" : "234", + "s" : [ { + "value" : [ "FHIR",".","Ratio" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "245", + "s" : [ { + "r" : "245", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "236", + "s" : [ { + "r" : "235", + "s" : [ { + "value" : [ "ratio" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "237", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "244", + "s" : [ { + "value" : [ "System",".","Ratio"," { " ] + }, { + "s" : [ { + "value" : [ "numerator",": " ] + }, { + "r" : "240", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "239", + "s" : [ { + "r" : "238", + "s" : [ { + "value" : [ "ratio" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "239", + "s" : [ { + "value" : [ "numerator" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "s" : [ { + "value" : [ "denominator",": " ] + }, { + "r" : "243", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "242", + "s" : [ { + "r" : "241", + "s" : [ { + "value" : [ "ratio" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "242", + "s" : [ { + "value" : [ "denominator" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "245", + "locator" : "87:5-90:107", + "type" : "If", + "condition" : { + "localId" : "236", + "locator" : "87:8-87:20", + "type" : "IsNull", + "operand" : { + "localId" : "235", + "locator" : "87:8-87:12", + "name" : "ratio", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Ratio", + "type" : "As", + "operand" : { + "localId" : "237", + "locator" : "88:9-88:12", + "type" : "Null" + } + }, + "else" : { + "localId" : "244", + "locator" : "90:9-90:107", + "classType" : "{urn:hl7-org:elm-types:r1}Ratio", + "type" : "Instance", + "element" : [ { + "name" : "numerator", + "value" : { + "localId" : "240", + "locator" : "90:35-90:61", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "239", + "locator" : "90:46-90:60", + "path" : "numerator", + "type" : "Property", + "source" : { + "localId" : "238", + "locator" : "90:46-90:50", + "name" : "ratio", + "type" : "OperandRef" + } + } ] + } + }, { + "name" : "denominator", + "value" : { + "localId" : "243", + "locator" : "90:77-90:105", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "242", + "locator" : "90:88-90:104", + "path" : "denominator", + "type" : "Property", + "source" : { + "localId" : "241", + "locator" : "90:88-90:92", + "name" : "ratio", + "type" : "OperandRef" + } + } ] + } + } ] + } + }, + "operand" : [ { + "name" : "ratio", + "operandTypeSpecifier" : { + "localId" : "234", + "locator" : "86:31-86:40", + "name" : "{http://hl7.org/fhir}Ratio", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "259", + "locator" : "92:1-96:63", + "name" : "ToInterval", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "259", + "s" : [ { + "value" : [ "","define function ","ToInterval","(","range"," " ] + }, { + "r" : "247", + "s" : [ { + "value" : [ "FHIR",".","Range" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "258", + "s" : [ { + "r" : "258", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "249", + "s" : [ { + "r" : "248", + "s" : [ { + "value" : [ "range" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "250", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "257", + "s" : [ { + "value" : [ "Interval[" ] + }, { + "r" : "253", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "252", + "s" : [ { + "r" : "251", + "s" : [ { + "value" : [ "range" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "252", + "s" : [ { + "value" : [ "low" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "256", + "s" : [ { + "value" : [ "ToQuantity","(" ] + }, { + "r" : "255", + "s" : [ { + "r" : "254", + "s" : [ { + "value" : [ "range" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "255", + "s" : [ { + "value" : [ "high" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "258", + "locator" : "93:5-96:63", + "type" : "If", + "condition" : { + "localId" : "249", + "locator" : "93:8-93:20", + "type" : "IsNull", + "operand" : { + "localId" : "248", + "locator" : "93:8-93:12", + "name" : "range", + "type" : "OperandRef" + } + }, + "then" : { + "type" : "As", + "operand" : { + "localId" : "250", + "locator" : "94:9-94:12", + "type" : "Null" + }, + "asTypeSpecifier" : { + "type" : "IntervalTypeSpecifier", + "pointType" : { + "name" : "{urn:hl7-org:elm-types:r1}Quantity", + "type" : "NamedTypeSpecifier" + } + } + }, + "else" : { + "localId" : "257", + "locator" : "96:9-96:63", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "253", + "locator" : "96:18-96:38", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "252", + "locator" : "96:29-96:37", + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "251", + "locator" : "96:29-96:33", + "name" : "range", + "type" : "OperandRef" + } + } ] + }, + "high" : { + "localId" : "256", + "locator" : "96:41-96:62", + "name" : "ToQuantity", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "255", + "locator" : "96:52-96:61", + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "254", + "locator" : "96:52-96:56", + "name" : "range", + "type" : "OperandRef" + } + } ] + } + } + }, + "operand" : [ { + "name" : "range", + "operandTypeSpecifier" : { + "localId" : "247", + "locator" : "92:34-92:43", + "name" : "{http://hl7.org/fhir}Range", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "278", + "locator" : "98:1-107:9", + "name" : "ToCode", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "278", + "s" : [ { + "value" : [ "","define function ","ToCode","(","coding"," " ] + }, { + "r" : "260", + "s" : [ { + "value" : [ "FHIR",".","Coding" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "277", + "s" : [ { + "r" : "277", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "262", + "s" : [ { + "r" : "261", + "s" : [ { + "value" : [ "coding" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "263", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "276", + "s" : [ { + "value" : [ "System",".","Code"," {\n " ] + }, { + "s" : [ { + "value" : [ "code",": " ] + }, { + "r" : "266", + "s" : [ { + "r" : "265", + "s" : [ { + "r" : "264", + "s" : [ { + "value" : [ "coding" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "265", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "266", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n " ] + }, { + "s" : [ { + "value" : [ "system",": " ] + }, { + "r" : "269", + "s" : [ { + "r" : "268", + "s" : [ { + "r" : "267", + "s" : [ { + "value" : [ "coding" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "268", + "s" : [ { + "value" : [ "system" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "269", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n " ] + }, { + "s" : [ { + "value" : [ "version",": " ] + }, { + "r" : "272", + "s" : [ { + "r" : "271", + "s" : [ { + "r" : "270", + "s" : [ { + "value" : [ "coding" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "271", + "s" : [ { + "value" : [ "version" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "272", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ ",\n " ] + }, { + "s" : [ { + "value" : [ "display",": " ] + }, { + "r" : "275", + "s" : [ { + "r" : "274", + "s" : [ { + "r" : "273", + "s" : [ { + "value" : [ "coding" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "274", + "s" : [ { + "value" : [ "display" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "275", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ "\n }" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "277", + "locator" : "99:5-107:9", + "type" : "If", + "condition" : { + "localId" : "262", + "locator" : "99:8-99:21", + "type" : "IsNull", + "operand" : { + "localId" : "261", + "locator" : "99:8-99:13", + "name" : "coding", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "263", + "locator" : "100:9-100:12", + "type" : "Null" + } + }, + "else" : { + "localId" : "276", + "locator" : "102:9-107:9", + "classType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "Instance", + "element" : [ { + "name" : "code", + "value" : { + "localId" : "266", + "locator" : "103:17-103:33", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "265", + "locator" : "103:17-103:27", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "264", + "locator" : "103:17-103:22", + "name" : "coding", + "type" : "OperandRef" + } + } + } + }, { + "name" : "system", + "value" : { + "localId" : "269", + "locator" : "104:19-104:37", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "268", + "locator" : "104:19-104:31", + "path" : "system", + "type" : "Property", + "source" : { + "localId" : "267", + "locator" : "104:19-104:24", + "name" : "coding", + "type" : "OperandRef" + } + } + } + }, { + "name" : "version", + "value" : { + "localId" : "272", + "locator" : "105:20-105:39", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "271", + "locator" : "105:20-105:33", + "path" : "version", + "type" : "Property", + "source" : { + "localId" : "270", + "locator" : "105:20-105:25", + "name" : "coding", + "type" : "OperandRef" + } + } + } + }, { + "name" : "display", + "value" : { + "localId" : "275", + "locator" : "106:20-106:39", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "274", + "locator" : "106:20-106:33", + "path" : "display", + "type" : "Property", + "source" : { + "localId" : "273", + "locator" : "106:20-106:25", + "name" : "coding", + "type" : "OperandRef" + } + } + } + } ] + } + }, + "operand" : [ { + "name" : "coding", + "operandTypeSpecifier" : { + "localId" : "260", + "locator" : "98:31-98:41", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "294", + "locator" : "109:1-116:9", + "name" : "ToConcept", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "294", + "s" : [ { + "value" : [ "","define function ","ToConcept","(","concept"," " ] + }, { + "r" : "279", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "293", + "s" : [ { + "r" : "293", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "281", + "s" : [ { + "r" : "280", + "s" : [ { + "value" : [ "concept" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "282", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "292", + "s" : [ { + "value" : [ "System",".","Concept"," {\n " ] + }, { + "s" : [ { + "value" : [ "codes",": " ] + }, { + "r" : "288", + "s" : [ { + "s" : [ { + "r" : "284", + "s" : [ { + "r" : "283", + "s" : [ { + "s" : [ { + "value" : [ "concept",".","coding" ] + } ] + } ] + }, { + "value" : [ " ","C" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "287", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "286", + "s" : [ { + "value" : [ "ToCode","(" ] + }, { + "r" : "285", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ",\n " ] + }, { + "s" : [ { + "value" : [ "display",": " ] + }, { + "r" : "291", + "s" : [ { + "r" : "290", + "s" : [ { + "r" : "289", + "s" : [ { + "value" : [ "concept" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "290", + "s" : [ { + "value" : [ "text" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "291", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + }, { + "value" : [ "\n }" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "293", + "locator" : "110:5-116:9", + "type" : "If", + "condition" : { + "localId" : "281", + "locator" : "110:8-110:22", + "type" : "IsNull", + "operand" : { + "localId" : "280", + "locator" : "110:8-110:14", + "name" : "concept", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{urn:hl7-org:elm-types:r1}Concept", + "type" : "As", + "operand" : { + "localId" : "282", + "locator" : "111:9-111:12", + "type" : "Null" + } + }, + "else" : { + "localId" : "292", + "locator" : "113:9-116:9", + "classType" : "{urn:hl7-org:elm-types:r1}Concept", + "type" : "Instance", + "element" : [ { + "name" : "codes", + "value" : { + "localId" : "288", + "locator" : "114:20-114:52", + "type" : "Query", + "source" : [ { + "localId" : "284", + "locator" : "114:20-114:35", + "alias" : "C", + "expression" : { + "localId" : "283", + "locator" : "114:20-114:33", + "path" : "coding", + "type" : "Property", + "source" : { + "name" : "concept", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "287", + "locator" : "114:37-114:52", + "expression" : { + "localId" : "286", + "locator" : "114:44-114:52", + "name" : "ToCode", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "285", + "locator" : "114:51", + "name" : "C", + "type" : "AliasRef" + } ] + } + } + } + }, { + "name" : "display", + "value" : { + "localId" : "291", + "locator" : "115:22-115:39", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "290", + "locator" : "115:22-115:33", + "path" : "text", + "type" : "Property", + "source" : { + "localId" : "289", + "locator" : "115:22-115:28", + "name" : "concept", + "type" : "OperandRef" + } + } + } + } ] + } + }, + "operand" : [ { + "name" : "concept", + "operandTypeSpecifier" : { + "localId" : "279", + "locator" : "109:35-109:54", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "303", + "locator" : "118:1-122:60", + "name" : "reference", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "303", + "s" : [ { + "value" : [ "","define function ","reference","(","reference"," " ] + }, { + "r" : "295", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "302", + "s" : [ { + "r" : "302", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "297", + "s" : [ { + "r" : "296", + "s" : [ { + "value" : [ "reference" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "r" : "298", + "value" : [ " then\n ","null","\n else\n " ] + }, { + "r" : "301", + "s" : [ { + "value" : [ "Reference"," { " ] + }, { + "s" : [ { + "value" : [ "reference",": " ] + }, { + "r" : "300", + "s" : [ { + "value" : [ "string"," { " ] + }, { + "s" : [ { + "value" : [ "value",": " ] + }, { + "r" : "299", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "302", + "locator" : "119:5-122:60", + "type" : "If", + "condition" : { + "localId" : "297", + "locator" : "119:8-119:24", + "type" : "IsNull", + "operand" : { + "localId" : "296", + "locator" : "119:8-119:16", + "name" : "reference", + "type" : "OperandRef" + } + }, + "then" : { + "asType" : "{http://hl7.org/fhir}Reference", + "type" : "As", + "operand" : { + "localId" : "298", + "locator" : "120:9-120:12", + "type" : "Null" + } + }, + "else" : { + "localId" : "301", + "locator" : "122:9-122:60", + "classType" : "{http://hl7.org/fhir}Reference", + "type" : "Instance", + "element" : [ { + "name" : "reference", + "value" : { + "localId" : "300", + "locator" : "122:32-122:58", + "classType" : "{http://hl7.org/fhir}string", + "type" : "Instance", + "element" : [ { + "name" : "value", + "value" : { + "localId" : "299", + "locator" : "122:48-122:56", + "name" : "reference", + "type" : "OperandRef" + } + } ] + } + } ] + } + }, + "operand" : [ { + "name" : "reference", + "operandTypeSpecifier" : { + "localId" : "295", + "locator" : "118:37-118:42", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "306", + "locator" : "124:1-124:68", + "name" : "resolve", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "306", + "s" : [ { + "value" : [ "","define function ","resolve","(","reference"," " ] + }, { + "r" : "304", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "305", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "reference", + "operandTypeSpecifier" : { + "localId" : "304", + "locator" : "124:35-124:40", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "309", + "locator" : "125:1-125:71", + "name" : "resolve", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "309", + "s" : [ { + "value" : [ "","define function ","resolve","(","reference"," " ] + }, { + "r" : "307", + "s" : [ { + "value" : [ "Reference" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "308", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "reference", + "operandTypeSpecifier" : { + "localId" : "307", + "locator" : "125:35-125:43", + "name" : "{http://hl7.org/fhir}Reference", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "312", + "locator" : "126:1-126:72", + "name" : "reference", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "312", + "s" : [ { + "value" : [ "","define function ","reference","(","resource"," " ] + }, { + "r" : "310", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "311", + "s" : [ { + "value" : [ "Reference" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "resource", + "operandTypeSpecifier" : { + "localId" : "310", + "locator" : "126:36-126:43", + "name" : "{http://hl7.org/fhir}Resource", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "317", + "locator" : "127:1-127:86", + "name" : "extension", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "317", + "s" : [ { + "value" : [ "","define function ","extension","(","element"," " ] + }, { + "r" : "313", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "314", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "316", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "315", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "313", + "locator" : "127:35-127:41", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "314", + "locator" : "127:48-127:53", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "322", + "locator" : "128:1-128:88", + "name" : "extension", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "322", + "s" : [ { + "value" : [ "","define function ","extension","(","resource"," " ] + }, { + "r" : "318", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "319", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "321", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "320", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "resource", + "operandTypeSpecifier" : { + "localId" : "318", + "locator" : "128:36-128:43", + "name" : "{http://hl7.org/fhir}Resource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "319", + "locator" : "128:50-128:55", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "325", + "locator" : "129:1-129:67", + "name" : "hasValue", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "325", + "s" : [ { + "value" : [ "","define function ","hasValue","(","element"," " ] + }, { + "r" : "323", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "324", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "323", + "locator" : "129:34-129:40", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "328", + "locator" : "130:1-130:63", + "name" : "getValue", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "328", + "s" : [ { + "value" : [ "","define function ","getValue","(","element"," " ] + }, { + "r" : "326", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "327", + "s" : [ { + "value" : [ "Any" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "326", + "locator" : "130:34-130:40", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "332", + "locator" : "131:1-131:69", + "name" : "ofType", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "332", + "s" : [ { + "value" : [ "","define function ","ofType","(","identifier"," " ] + }, { + "r" : "329", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "331", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "330", + "s" : [ { + "value" : [ "Any" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "identifier", + "operandTypeSpecifier" : { + "localId" : "329", + "locator" : "131:35-131:40", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "335", + "locator" : "132:1-132:63", + "name" : "is", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "335", + "s" : [ { + "value" : [ "","define function ","is","(","identifier"," " ] + }, { + "r" : "333", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "334", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "identifier", + "operandTypeSpecifier" : { + "localId" : "333", + "locator" : "132:31-132:36", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "338", + "locator" : "133:1-133:59", + "name" : "as", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "338", + "s" : [ { + "value" : [ "","define function ","as","(","identifier"," " ] + }, { + "r" : "336", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "337", + "s" : [ { + "value" : [ "Any" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "identifier", + "operandTypeSpecifier" : { + "localId" : "336", + "locator" : "133:31-133:36", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "341", + "locator" : "134:1-134:86", + "name" : "elementDefinition", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "341", + "s" : [ { + "value" : [ "","define function ","elementDefinition","(","element"," " ] + }, { + "r" : "339", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "340", + "s" : [ { + "value" : [ "ElementDefinition" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "339", + "locator" : "134:43-134:49", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "347", + "locator" : "135:1-135:95", + "name" : "slice", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "347", + "s" : [ { + "value" : [ "","define function ","slice","(","element"," " ] + }, { + "r" : "342", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","url"," " ] + }, { + "r" : "343", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ", ","name"," " ] + }, { + "r" : "344", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "346", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "345", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "342", + "locator" : "135:31-135:37", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "url", + "operandTypeSpecifier" : { + "localId" : "343", + "locator" : "135:44-135:49", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "name", + "operandTypeSpecifier" : { + "localId" : "344", + "locator" : "135:57-135:62", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "350", + "locator" : "136:1-136:76", + "name" : "checkModifiers", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "350", + "s" : [ { + "value" : [ "","define function ","checkModifiers","(","resource"," " ] + }, { + "r" : "348", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "349", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "resource", + "operandTypeSpecifier" : { + "localId" : "348", + "locator" : "136:41-136:48", + "name" : "{http://hl7.org/fhir}Resource", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "354", + "locator" : "137:1-137:93", + "name" : "checkModifiers", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "354", + "s" : [ { + "value" : [ "","define function ","checkModifiers","(","resource"," " ] + }, { + "r" : "351", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ", ","modifier"," " ] + }, { + "r" : "352", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "353", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "resource", + "operandTypeSpecifier" : { + "localId" : "351", + "locator" : "137:41-137:48", + "name" : "{http://hl7.org/fhir}Resource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "modifier", + "operandTypeSpecifier" : { + "localId" : "352", + "locator" : "137:60-137:65", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "357", + "locator" : "138:1-138:73", + "name" : "checkModifiers", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "357", + "s" : [ { + "value" : [ "","define function ","checkModifiers","(","element"," " ] + }, { + "r" : "355", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "356", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "355", + "locator" : "138:40-138:46", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "361", + "locator" : "139:1-139:90", + "name" : "checkModifiers", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "361", + "s" : [ { + "value" : [ "","define function ","checkModifiers","(","element"," " ] + }, { + "r" : "358", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","modifier"," " ] + }, { + "r" : "359", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "360", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "358", + "locator" : "139:40-139:46", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "modifier", + "operandTypeSpecifier" : { + "localId" : "359", + "locator" : "139:58-139:63", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "365", + "locator" : "140:1-140:89", + "name" : "conformsTo", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "365", + "s" : [ { + "value" : [ "","define function ","conformsTo","(","resource"," " ] + }, { + "r" : "362", + "s" : [ { + "value" : [ "Resource" ] + } ] + }, { + "value" : [ ", ","structure"," " ] + }, { + "r" : "363", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "364", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "resource", + "operandTypeSpecifier" : { + "localId" : "362", + "locator" : "140:37-140:44", + "name" : "{http://hl7.org/fhir}Resource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "structure", + "operandTypeSpecifier" : { + "localId" : "363", + "locator" : "140:57-140:62", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "369", + "locator" : "141:1-141:78", + "name" : "memberOf", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "369", + "s" : [ { + "value" : [ "","define function ","memberOf","(","code"," " ] + }, { + "r" : "366", + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ ", ","valueSet"," " ] + }, { + "r" : "367", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "368", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "code", + "operandTypeSpecifier" : { + "localId" : "366", + "locator" : "141:31-141:34", + "name" : "{http://hl7.org/fhir}code", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "valueSet", + "operandTypeSpecifier" : { + "localId" : "367", + "locator" : "141:46-141:51", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "373", + "locator" : "142:1-142:82", + "name" : "memberOf", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "373", + "s" : [ { + "value" : [ "","define function ","memberOf","(","coding"," " ] + }, { + "r" : "370", + "s" : [ { + "value" : [ "Coding" ] + } ] + }, { + "value" : [ ", ","valueSet"," " ] + }, { + "r" : "371", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "372", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "coding", + "operandTypeSpecifier" : { + "localId" : "370", + "locator" : "142:33-142:38", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "valueSet", + "operandTypeSpecifier" : { + "localId" : "371", + "locator" : "142:50-142:55", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "377", + "locator" : "143:1-143:92", + "name" : "memberOf", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "377", + "s" : [ { + "value" : [ "","define function ","memberOf","(","concept"," " ] + }, { + "r" : "374", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + }, { + "value" : [ ", ","valueSet"," " ] + }, { + "r" : "375", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "376", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "concept", + "operandTypeSpecifier" : { + "localId" : "374", + "locator" : "143:34-143:48", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "valueSet", + "operandTypeSpecifier" : { + "localId" : "375", + "locator" : "143:60-143:65", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "381", + "locator" : "144:1-144:88", + "name" : "subsumes", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "381", + "s" : [ { + "value" : [ "","define function ","subsumes","(","coding"," " ] + }, { + "r" : "378", + "s" : [ { + "value" : [ "Coding" ] + } ] + }, { + "value" : [ ", ","subsumedCoding"," " ] + }, { + "r" : "379", + "s" : [ { + "value" : [ "Coding" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "380", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "coding", + "operandTypeSpecifier" : { + "localId" : "378", + "locator" : "144:33-144:38", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "subsumedCoding", + "operandTypeSpecifier" : { + "localId" : "379", + "locator" : "144:56-144:61", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "385", + "locator" : "145:1-145:108", + "name" : "subsumes", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "385", + "s" : [ { + "value" : [ "","define function ","subsumes","(","concept"," " ] + }, { + "r" : "382", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + }, { + "value" : [ ", ","subsumedConcept"," " ] + }, { + "r" : "383", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "384", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "concept", + "operandTypeSpecifier" : { + "localId" : "382", + "locator" : "145:34-145:48", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "subsumedConcept", + "operandTypeSpecifier" : { + "localId" : "383", + "locator" : "145:67-145:81", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "389", + "locator" : "146:1-146:91", + "name" : "subsumedBy", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "389", + "s" : [ { + "value" : [ "","define function ","subsumedBy","(","coding"," " ] + }, { + "r" : "386", + "s" : [ { + "value" : [ "Coding" ] + } ] + }, { + "value" : [ ", ","subsumingCoding"," " ] + }, { + "r" : "387", + "s" : [ { + "value" : [ "Coding" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "388", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "coding", + "operandTypeSpecifier" : { + "localId" : "386", + "locator" : "146:35-146:40", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "subsumingCoding", + "operandTypeSpecifier" : { + "localId" : "387", + "locator" : "146:59-146:64", + "name" : "{http://hl7.org/fhir}Coding", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "393", + "locator" : "147:1-147:111", + "name" : "subsumedBy", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "393", + "s" : [ { + "value" : [ "","define function ","subsumedBy","(","concept"," " ] + }, { + "r" : "390", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + }, { + "value" : [ ", ","subsumingConcept"," " ] + }, { + "r" : "391", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "392", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "concept", + "operandTypeSpecifier" : { + "localId" : "390", + "locator" : "147:36-147:50", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "subsumingConcept", + "operandTypeSpecifier" : { + "localId" : "391", + "locator" : "147:70-147:84", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "396", + "locator" : "148:1-148:69", + "name" : "htmlChecks", + "context" : "Patient", + "accessLevel" : "Public", + "external" : true, + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "396", + "s" : [ { + "value" : [ "","define function ","htmlChecks","(","element"," " ] + }, { + "r" : "394", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ") returns " ] + }, { + "r" : "395", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "value" : [ ": external" ] + } ] + } + } ], + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "394", + "locator" : "148:36-148:42", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "400", + "locator" : "150:1-150:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "400", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "397", + "s" : [ { + "value" : [ "AccountStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "399", + "s" : [ { + "r" : "399", + "s" : [ { + "r" : "398", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "399", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "399", + "locator" : "150:48-150:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "398", + "locator" : "150:48-150:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "397", + "locator" : "150:32-150:44", + "name" : "{http://hl7.org/fhir}AccountStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "404", + "locator" : "151:1-151:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "404", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "401", + "s" : [ { + "value" : [ "ActionCardinalityBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "403", + "s" : [ { + "r" : "403", + "s" : [ { + "r" : "402", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "403", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "403", + "locator" : "151:60-151:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "402", + "locator" : "151:60-151:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "401", + "locator" : "151:32-151:56", + "name" : "{http://hl7.org/fhir}ActionCardinalityBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "408", + "locator" : "152:1-152:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "408", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "405", + "s" : [ { + "value" : [ "ActionConditionKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "407", + "s" : [ { + "r" : "407", + "s" : [ { + "r" : "406", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "407", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "407", + "locator" : "152:54-152:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "406", + "locator" : "152:54-152:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "405", + "locator" : "152:32-152:50", + "name" : "{http://hl7.org/fhir}ActionConditionKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "412", + "locator" : "153:1-153:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "412", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "409", + "s" : [ { + "value" : [ "ActionGroupingBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "411", + "s" : [ { + "r" : "411", + "s" : [ { + "r" : "410", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "411", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "411", + "locator" : "153:57-153:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "410", + "locator" : "153:57-153:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "409", + "locator" : "153:32-153:53", + "name" : "{http://hl7.org/fhir}ActionGroupingBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "416", + "locator" : "154:1-154:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "416", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "413", + "s" : [ { + "value" : [ "ActionParticipantType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "415", + "s" : [ { + "r" : "415", + "s" : [ { + "r" : "414", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "415", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "415", + "locator" : "154:56-154:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "414", + "locator" : "154:56-154:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "413", + "locator" : "154:32-154:52", + "name" : "{http://hl7.org/fhir}ActionParticipantType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "420", + "locator" : "155:1-155:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "420", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "417", + "s" : [ { + "value" : [ "ActionPrecheckBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "419", + "s" : [ { + "r" : "419", + "s" : [ { + "r" : "418", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "419", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "419", + "locator" : "155:57-155:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "418", + "locator" : "155:57-155:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "417", + "locator" : "155:32-155:53", + "name" : "{http://hl7.org/fhir}ActionPrecheckBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "424", + "locator" : "156:1-156:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "424", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "421", + "s" : [ { + "value" : [ "ActionRelationshipType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "423", + "s" : [ { + "r" : "423", + "s" : [ { + "r" : "422", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "423", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "423", + "locator" : "156:57-156:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "422", + "locator" : "156:57-156:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "421", + "locator" : "156:32-156:53", + "name" : "{http://hl7.org/fhir}ActionRelationshipType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "428", + "locator" : "157:1-157:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "428", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "425", + "s" : [ { + "value" : [ "ActionRequiredBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "427", + "s" : [ { + "r" : "427", + "s" : [ { + "r" : "426", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "427", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "427", + "locator" : "157:57-157:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "426", + "locator" : "157:57-157:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "425", + "locator" : "157:32-157:53", + "name" : "{http://hl7.org/fhir}ActionRequiredBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "432", + "locator" : "158:1-158:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "432", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "429", + "s" : [ { + "value" : [ "ActionSelectionBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "431", + "s" : [ { + "r" : "431", + "s" : [ { + "r" : "430", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "431", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "431", + "locator" : "158:58-158:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "430", + "locator" : "158:58-158:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "429", + "locator" : "158:32-158:54", + "name" : "{http://hl7.org/fhir}ActionSelectionBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "436", + "locator" : "159:1-159:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "436", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "433", + "s" : [ { + "value" : [ "ActivityDefinitionKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "435", + "s" : [ { + "r" : "435", + "s" : [ { + "r" : "434", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "435", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "435", + "locator" : "159:57-159:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "434", + "locator" : "159:57-159:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "433", + "locator" : "159:32-159:53", + "name" : "{http://hl7.org/fhir}ActivityDefinitionKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "440", + "locator" : "160:1-160:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "440", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "437", + "s" : [ { + "value" : [ "ActivityParticipantType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "439", + "s" : [ { + "r" : "439", + "s" : [ { + "r" : "438", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "439", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "439", + "locator" : "160:58-160:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "438", + "locator" : "160:58-160:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "437", + "locator" : "160:32-160:54", + "name" : "{http://hl7.org/fhir}ActivityParticipantType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "444", + "locator" : "161:1-161:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "444", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "441", + "s" : [ { + "value" : [ "AddressType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "443", + "s" : [ { + "r" : "443", + "s" : [ { + "r" : "442", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "443", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "443", + "locator" : "161:46-161:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "442", + "locator" : "161:46-161:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "441", + "locator" : "161:32-161:42", + "name" : "{http://hl7.org/fhir}AddressType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "448", + "locator" : "162:1-162:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "448", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "445", + "s" : [ { + "value" : [ "AddressUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "447", + "s" : [ { + "r" : "447", + "s" : [ { + "r" : "446", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "447", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "447", + "locator" : "162:45-162:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "446", + "locator" : "162:45-162:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "445", + "locator" : "162:32-162:41", + "name" : "{http://hl7.org/fhir}AddressUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "452", + "locator" : "163:1-163:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "452", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "449", + "s" : [ { + "value" : [ "AdministrativeGender" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "451", + "s" : [ { + "r" : "451", + "s" : [ { + "r" : "450", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "451", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "451", + "locator" : "163:55-163:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "450", + "locator" : "163:55-163:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "449", + "locator" : "163:32-163:51", + "name" : "{http://hl7.org/fhir}AdministrativeGender", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "456", + "locator" : "164:1-164:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "456", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "453", + "s" : [ { + "value" : [ "AdverseEventActuality" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "455", + "s" : [ { + "r" : "455", + "s" : [ { + "r" : "454", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "455", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "455", + "locator" : "164:56-164:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "454", + "locator" : "164:56-164:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "453", + "locator" : "164:32-164:52", + "name" : "{http://hl7.org/fhir}AdverseEventActuality", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "460", + "locator" : "165:1-165:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "460", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "457", + "s" : [ { + "value" : [ "AggregationMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "459", + "s" : [ { + "r" : "459", + "s" : [ { + "r" : "458", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "459", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "459", + "locator" : "165:50-165:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "458", + "locator" : "165:50-165:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "457", + "locator" : "165:32-165:46", + "name" : "{http://hl7.org/fhir}AggregationMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "464", + "locator" : "166:1-166:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "464", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "461", + "s" : [ { + "value" : [ "AllergyIntoleranceCategory" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "463", + "s" : [ { + "r" : "463", + "s" : [ { + "r" : "462", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "463", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "463", + "locator" : "166:61-166:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "462", + "locator" : "166:61-166:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "461", + "locator" : "166:32-166:57", + "name" : "{http://hl7.org/fhir}AllergyIntoleranceCategory", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "468", + "locator" : "167:1-167:74", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "468", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "465", + "s" : [ { + "value" : [ "AllergyIntoleranceCriticality" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "467", + "s" : [ { + "r" : "467", + "s" : [ { + "r" : "466", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "467", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "467", + "locator" : "167:64-167:74", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "466", + "locator" : "167:64-167:68", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "465", + "locator" : "167:32-167:60", + "name" : "{http://hl7.org/fhir}AllergyIntoleranceCriticality", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "472", + "locator" : "168:1-168:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "472", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "469", + "s" : [ { + "value" : [ "AllergyIntoleranceSeverity" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "471", + "s" : [ { + "r" : "471", + "s" : [ { + "r" : "470", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "471", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "471", + "locator" : "168:61-168:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "470", + "locator" : "168:61-168:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "469", + "locator" : "168:32-168:57", + "name" : "{http://hl7.org/fhir}AllergyIntoleranceSeverity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "476", + "locator" : "169:1-169:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "476", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "473", + "s" : [ { + "value" : [ "AllergyIntoleranceType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "475", + "s" : [ { + "r" : "475", + "s" : [ { + "r" : "474", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "475", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "475", + "locator" : "169:57-169:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "474", + "locator" : "169:57-169:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "473", + "locator" : "169:32-169:53", + "name" : "{http://hl7.org/fhir}AllergyIntoleranceType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "480", + "locator" : "170:1-170:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "480", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "477", + "s" : [ { + "value" : [ "AppointmentStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "479", + "s" : [ { + "r" : "479", + "s" : [ { + "r" : "478", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "479", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "479", + "locator" : "170:52-170:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "478", + "locator" : "170:52-170:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "477", + "locator" : "170:32-170:48", + "name" : "{http://hl7.org/fhir}AppointmentStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "484", + "locator" : "171:1-171:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "484", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "481", + "s" : [ { + "value" : [ "AssertionDirectionType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "483", + "s" : [ { + "r" : "483", + "s" : [ { + "r" : "482", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "483", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "483", + "locator" : "171:57-171:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "482", + "locator" : "171:57-171:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "481", + "locator" : "171:32-171:53", + "name" : "{http://hl7.org/fhir}AssertionDirectionType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "488", + "locator" : "172:1-172:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "488", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "485", + "s" : [ { + "value" : [ "AssertionOperatorType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "487", + "s" : [ { + "r" : "487", + "s" : [ { + "r" : "486", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "487", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "487", + "locator" : "172:56-172:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "486", + "locator" : "172:56-172:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "485", + "locator" : "172:32-172:52", + "name" : "{http://hl7.org/fhir}AssertionOperatorType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "492", + "locator" : "173:1-173:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "492", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "489", + "s" : [ { + "value" : [ "AssertionResponseTypes" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "491", + "s" : [ { + "r" : "491", + "s" : [ { + "r" : "490", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "491", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "491", + "locator" : "173:57-173:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "490", + "locator" : "173:57-173:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "489", + "locator" : "173:32-173:53", + "name" : "{http://hl7.org/fhir}AssertionResponseTypes", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "496", + "locator" : "174:1-174:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "496", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "493", + "s" : [ { + "value" : [ "AuditEventAction" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "495", + "s" : [ { + "r" : "495", + "s" : [ { + "r" : "494", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "495", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "495", + "locator" : "174:51-174:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "494", + "locator" : "174:51-174:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "493", + "locator" : "174:32-174:47", + "name" : "{http://hl7.org/fhir}AuditEventAction", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "500", + "locator" : "175:1-175:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "500", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "497", + "s" : [ { + "value" : [ "AuditEventAgentNetworkType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "499", + "s" : [ { + "r" : "499", + "s" : [ { + "r" : "498", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "499", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "499", + "locator" : "175:61-175:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "498", + "locator" : "175:61-175:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "497", + "locator" : "175:32-175:57", + "name" : "{http://hl7.org/fhir}AuditEventAgentNetworkType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "504", + "locator" : "176:1-176:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "504", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "501", + "s" : [ { + "value" : [ "AuditEventOutcome" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "503", + "s" : [ { + "r" : "503", + "s" : [ { + "r" : "502", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "503", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "503", + "locator" : "176:52-176:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "502", + "locator" : "176:52-176:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "501", + "locator" : "176:32-176:48", + "name" : "{http://hl7.org/fhir}AuditEventOutcome", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "508", + "locator" : "177:1-177:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "508", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "505", + "s" : [ { + "value" : [ "BindingStrength" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "507", + "s" : [ { + "r" : "507", + "s" : [ { + "r" : "506", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "507", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "507", + "locator" : "177:50-177:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "506", + "locator" : "177:50-177:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "505", + "locator" : "177:32-177:46", + "name" : "{http://hl7.org/fhir}BindingStrength", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "512", + "locator" : "178:1-178:79", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "512", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "509", + "s" : [ { + "value" : [ "BiologicallyDerivedProductCategory" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "511", + "s" : [ { + "r" : "511", + "s" : [ { + "r" : "510", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "511", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "511", + "locator" : "178:69-178:79", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "510", + "locator" : "178:69-178:73", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "509", + "locator" : "178:32-178:65", + "name" : "{http://hl7.org/fhir}BiologicallyDerivedProductCategory", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "516", + "locator" : "179:1-179:77", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "516", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "513", + "s" : [ { + "value" : [ "BiologicallyDerivedProductStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "515", + "s" : [ { + "r" : "515", + "s" : [ { + "r" : "514", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "515", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "515", + "locator" : "179:67-179:77", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "514", + "locator" : "179:67-179:71", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "513", + "locator" : "179:32-179:63", + "name" : "{http://hl7.org/fhir}BiologicallyDerivedProductStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "520", + "locator" : "180:1-180:83", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "520", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "517", + "s" : [ { + "value" : [ "BiologicallyDerivedProductStorageScale" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "519", + "s" : [ { + "r" : "519", + "s" : [ { + "r" : "518", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "519", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "519", + "locator" : "180:73-180:83", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "518", + "locator" : "180:73-180:77", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "517", + "locator" : "180:32-180:69", + "name" : "{http://hl7.org/fhir}BiologicallyDerivedProductStorageScale", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "524", + "locator" : "181:1-181:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "524", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "521", + "s" : [ { + "value" : [ "BundleType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "523", + "s" : [ { + "r" : "523", + "s" : [ { + "r" : "522", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "523", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "523", + "locator" : "181:45-181:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "522", + "locator" : "181:45-181:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "521", + "locator" : "181:32-181:41", + "name" : "{http://hl7.org/fhir}BundleType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "528", + "locator" : "182:1-182:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "528", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "525", + "s" : [ { + "value" : [ "CapabilityStatementKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "527", + "s" : [ { + "r" : "527", + "s" : [ { + "r" : "526", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "527", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "527", + "locator" : "182:58-182:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "526", + "locator" : "182:58-182:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "525", + "locator" : "182:32-182:54", + "name" : "{http://hl7.org/fhir}CapabilityStatementKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "532", + "locator" : "183:1-183:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "532", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "529", + "s" : [ { + "value" : [ "CarePlanActivityKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "531", + "s" : [ { + "r" : "531", + "s" : [ { + "r" : "530", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "531", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "531", + "locator" : "183:55-183:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "530", + "locator" : "183:55-183:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "529", + "locator" : "183:32-183:51", + "name" : "{http://hl7.org/fhir}CarePlanActivityKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "536", + "locator" : "184:1-184:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "536", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "533", + "s" : [ { + "value" : [ "CarePlanActivityStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "535", + "s" : [ { + "r" : "535", + "s" : [ { + "r" : "534", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "535", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "535", + "locator" : "184:57-184:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "534", + "locator" : "184:57-184:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "533", + "locator" : "184:32-184:53", + "name" : "{http://hl7.org/fhir}CarePlanActivityStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "540", + "locator" : "185:1-185:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "540", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "537", + "s" : [ { + "value" : [ "CarePlanIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "539", + "s" : [ { + "r" : "539", + "s" : [ { + "r" : "538", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "539", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "539", + "locator" : "185:49-185:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "538", + "locator" : "185:49-185:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "537", + "locator" : "185:32-185:45", + "name" : "{http://hl7.org/fhir}CarePlanIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "544", + "locator" : "186:1-186:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "544", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "541", + "s" : [ { + "value" : [ "CarePlanStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "543", + "s" : [ { + "r" : "543", + "s" : [ { + "r" : "542", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "543", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "543", + "locator" : "186:49-186:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "542", + "locator" : "186:49-186:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "541", + "locator" : "186:32-186:45", + "name" : "{http://hl7.org/fhir}CarePlanStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "548", + "locator" : "187:1-187:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "548", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "545", + "s" : [ { + "value" : [ "CareTeamStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "547", + "s" : [ { + "r" : "547", + "s" : [ { + "r" : "546", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "547", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "547", + "locator" : "187:49-187:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "546", + "locator" : "187:49-187:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "545", + "locator" : "187:32-187:45", + "name" : "{http://hl7.org/fhir}CareTeamStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "552", + "locator" : "188:1-188:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "552", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "549", + "s" : [ { + "value" : [ "CatalogEntryRelationType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "551", + "s" : [ { + "r" : "551", + "s" : [ { + "r" : "550", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "551", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "551", + "locator" : "188:59-188:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "550", + "locator" : "188:59-188:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "549", + "locator" : "188:32-188:55", + "name" : "{http://hl7.org/fhir}CatalogEntryRelationType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "556", + "locator" : "189:1-189:83", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "556", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "553", + "s" : [ { + "value" : [ "ChargeItemDefinitionPriceComponentType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "555", + "s" : [ { + "r" : "555", + "s" : [ { + "r" : "554", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "555", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "555", + "locator" : "189:73-189:83", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "554", + "locator" : "189:73-189:77", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "553", + "locator" : "189:32-189:69", + "name" : "{http://hl7.org/fhir}ChargeItemDefinitionPriceComponentType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "560", + "locator" : "190:1-190:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "560", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "557", + "s" : [ { + "value" : [ "ChargeItemStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "559", + "s" : [ { + "r" : "559", + "s" : [ { + "r" : "558", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "559", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "559", + "locator" : "190:51-190:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "558", + "locator" : "190:51-190:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "557", + "locator" : "190:32-190:47", + "name" : "{http://hl7.org/fhir}ChargeItemStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "564", + "locator" : "191:1-191:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "564", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "561", + "s" : [ { + "value" : [ "ClaimResponseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "563", + "s" : [ { + "r" : "563", + "s" : [ { + "r" : "562", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "563", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "563", + "locator" : "191:54-191:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "562", + "locator" : "191:54-191:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "561", + "locator" : "191:32-191:50", + "name" : "{http://hl7.org/fhir}ClaimResponseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "568", + "locator" : "192:1-192:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "568", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "565", + "s" : [ { + "value" : [ "ClaimStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "567", + "s" : [ { + "r" : "567", + "s" : [ { + "r" : "566", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "567", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "567", + "locator" : "192:46-192:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "566", + "locator" : "192:46-192:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "565", + "locator" : "192:32-192:42", + "name" : "{http://hl7.org/fhir}ClaimStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "572", + "locator" : "193:1-193:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "572", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "569", + "s" : [ { + "value" : [ "ClinicalImpressionStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "571", + "s" : [ { + "r" : "571", + "s" : [ { + "r" : "570", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "571", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "571", + "locator" : "193:59-193:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "570", + "locator" : "193:59-193:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "569", + "locator" : "193:32-193:55", + "name" : "{http://hl7.org/fhir}ClinicalImpressionStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "576", + "locator" : "194:1-194:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "576", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "573", + "s" : [ { + "value" : [ "CodeSearchSupport" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "575", + "s" : [ { + "r" : "575", + "s" : [ { + "r" : "574", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "575", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "575", + "locator" : "194:52-194:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "574", + "locator" : "194:52-194:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "573", + "locator" : "194:32-194:48", + "name" : "{http://hl7.org/fhir}CodeSearchSupport", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "580", + "locator" : "195:1-195:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "580", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "577", + "s" : [ { + "value" : [ "CodeSystemContentMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "579", + "s" : [ { + "r" : "579", + "s" : [ { + "r" : "578", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "579", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "579", + "locator" : "195:56-195:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "578", + "locator" : "195:56-195:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "577", + "locator" : "195:32-195:52", + "name" : "{http://hl7.org/fhir}CodeSystemContentMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "584", + "locator" : "196:1-196:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "584", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "581", + "s" : [ { + "value" : [ "CodeSystemHierarchyMeaning" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "583", + "s" : [ { + "r" : "583", + "s" : [ { + "r" : "582", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "583", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "583", + "locator" : "196:61-196:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "582", + "locator" : "196:61-196:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "581", + "locator" : "196:32-196:57", + "name" : "{http://hl7.org/fhir}CodeSystemHierarchyMeaning", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "588", + "locator" : "197:1-197:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "588", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "585", + "s" : [ { + "value" : [ "CommunicationPriority" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "587", + "s" : [ { + "r" : "587", + "s" : [ { + "r" : "586", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "587", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "587", + "locator" : "197:56-197:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "586", + "locator" : "197:56-197:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "585", + "locator" : "197:32-197:52", + "name" : "{http://hl7.org/fhir}CommunicationPriority", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "592", + "locator" : "198:1-198:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "592", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "589", + "s" : [ { + "value" : [ "CommunicationRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "591", + "s" : [ { + "r" : "591", + "s" : [ { + "r" : "590", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "591", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "591", + "locator" : "198:61-198:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "590", + "locator" : "198:61-198:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "589", + "locator" : "198:32-198:57", + "name" : "{http://hl7.org/fhir}CommunicationRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "596", + "locator" : "199:1-199:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "596", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "593", + "s" : [ { + "value" : [ "CommunicationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "595", + "s" : [ { + "r" : "595", + "s" : [ { + "r" : "594", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "595", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "595", + "locator" : "199:54-199:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "594", + "locator" : "199:54-199:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "593", + "locator" : "199:32-199:50", + "name" : "{http://hl7.org/fhir}CommunicationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "600", + "locator" : "200:1-200:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "600", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "597", + "s" : [ { + "value" : [ "CompartmentCode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "599", + "s" : [ { + "r" : "599", + "s" : [ { + "r" : "598", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "599", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "599", + "locator" : "200:50-200:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "598", + "locator" : "200:50-200:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "597", + "locator" : "200:32-200:46", + "name" : "{http://hl7.org/fhir}CompartmentCode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "604", + "locator" : "201:1-201:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "604", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "601", + "s" : [ { + "value" : [ "CompartmentType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "603", + "s" : [ { + "r" : "603", + "s" : [ { + "r" : "602", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "603", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "603", + "locator" : "201:50-201:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "602", + "locator" : "201:50-201:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "601", + "locator" : "201:32-201:46", + "name" : "{http://hl7.org/fhir}CompartmentType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "608", + "locator" : "202:1-202:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "608", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "605", + "s" : [ { + "value" : [ "CompositionAttestationMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "607", + "s" : [ { + "r" : "607", + "s" : [ { + "r" : "606", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "607", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "607", + "locator" : "202:61-202:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "606", + "locator" : "202:61-202:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "605", + "locator" : "202:32-202:57", + "name" : "{http://hl7.org/fhir}CompositionAttestationMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "612", + "locator" : "203:1-203:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "612", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "609", + "s" : [ { + "value" : [ "CompositionStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "611", + "s" : [ { + "r" : "611", + "s" : [ { + "r" : "610", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "611", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "611", + "locator" : "203:52-203:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "610", + "locator" : "203:52-203:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "609", + "locator" : "203:32-203:48", + "name" : "{http://hl7.org/fhir}CompositionStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "616", + "locator" : "204:1-204:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "616", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "613", + "s" : [ { + "value" : [ "ConceptMapEquivalence" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "615", + "s" : [ { + "r" : "615", + "s" : [ { + "r" : "614", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "615", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "615", + "locator" : "204:56-204:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "614", + "locator" : "204:56-204:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "613", + "locator" : "204:32-204:52", + "name" : "{http://hl7.org/fhir}ConceptMapEquivalence", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "620", + "locator" : "205:1-205:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "620", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "617", + "s" : [ { + "value" : [ "ConceptMapGroupUnmappedMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "619", + "s" : [ { + "r" : "619", + "s" : [ { + "r" : "618", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "619", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "619", + "locator" : "205:62-205:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "618", + "locator" : "205:62-205:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "617", + "locator" : "205:32-205:58", + "name" : "{http://hl7.org/fhir}ConceptMapGroupUnmappedMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "624", + "locator" : "206:1-206:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "624", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "621", + "s" : [ { + "value" : [ "ConditionalDeleteStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "623", + "s" : [ { + "r" : "623", + "s" : [ { + "r" : "622", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "623", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "623", + "locator" : "206:58-206:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "622", + "locator" : "206:58-206:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "621", + "locator" : "206:32-206:54", + "name" : "{http://hl7.org/fhir}ConditionalDeleteStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "628", + "locator" : "207:1-207:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "628", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "625", + "s" : [ { + "value" : [ "ConditionalReadStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "627", + "s" : [ { + "r" : "627", + "s" : [ { + "r" : "626", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "627", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "627", + "locator" : "207:56-207:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "626", + "locator" : "207:56-207:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "625", + "locator" : "207:32-207:52", + "name" : "{http://hl7.org/fhir}ConditionalReadStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "632", + "locator" : "208:1-208:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "632", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "629", + "s" : [ { + "value" : [ "ConsentDataMeaning" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "631", + "s" : [ { + "r" : "631", + "s" : [ { + "r" : "630", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "631", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "631", + "locator" : "208:53-208:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "630", + "locator" : "208:53-208:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "629", + "locator" : "208:32-208:49", + "name" : "{http://hl7.org/fhir}ConsentDataMeaning", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "636", + "locator" : "209:1-209:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "636", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "633", + "s" : [ { + "value" : [ "ConsentProvisionType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "635", + "s" : [ { + "r" : "635", + "s" : [ { + "r" : "634", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "635", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "635", + "locator" : "209:55-209:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "634", + "locator" : "209:55-209:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "633", + "locator" : "209:32-209:51", + "name" : "{http://hl7.org/fhir}ConsentProvisionType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "640", + "locator" : "210:1-210:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "640", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "637", + "s" : [ { + "value" : [ "ConsentState" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "639", + "s" : [ { + "r" : "639", + "s" : [ { + "r" : "638", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "639", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "639", + "locator" : "210:47-210:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "638", + "locator" : "210:47-210:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "637", + "locator" : "210:32-210:43", + "name" : "{http://hl7.org/fhir}ConsentState", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "644", + "locator" : "211:1-211:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "644", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "641", + "s" : [ { + "value" : [ "ConstraintSeverity" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "643", + "s" : [ { + "r" : "643", + "s" : [ { + "r" : "642", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "643", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "643", + "locator" : "211:53-211:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "642", + "locator" : "211:53-211:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "641", + "locator" : "211:32-211:49", + "name" : "{http://hl7.org/fhir}ConstraintSeverity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "648", + "locator" : "212:1-212:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "648", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "645", + "s" : [ { + "value" : [ "ContactPointSystem" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "647", + "s" : [ { + "r" : "647", + "s" : [ { + "r" : "646", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "647", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "647", + "locator" : "212:53-212:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "646", + "locator" : "212:53-212:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "645", + "locator" : "212:32-212:49", + "name" : "{http://hl7.org/fhir}ContactPointSystem", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "652", + "locator" : "213:1-213:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "652", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "649", + "s" : [ { + "value" : [ "ContactPointUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "651", + "s" : [ { + "r" : "651", + "s" : [ { + "r" : "650", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "651", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "651", + "locator" : "213:50-213:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "650", + "locator" : "213:50-213:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "649", + "locator" : "213:32-213:46", + "name" : "{http://hl7.org/fhir}ContactPointUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "656", + "locator" : "214:1-214:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "656", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "653", + "s" : [ { + "value" : [ "ContractPublicationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "655", + "s" : [ { + "r" : "655", + "s" : [ { + "r" : "654", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "655", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "655", + "locator" : "214:60-214:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "654", + "locator" : "214:60-214:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "653", + "locator" : "214:32-214:56", + "name" : "{http://hl7.org/fhir}ContractPublicationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "660", + "locator" : "215:1-215:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "660", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "657", + "s" : [ { + "value" : [ "ContractStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "659", + "s" : [ { + "r" : "659", + "s" : [ { + "r" : "658", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "659", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "659", + "locator" : "215:49-215:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "658", + "locator" : "215:49-215:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "657", + "locator" : "215:32-215:45", + "name" : "{http://hl7.org/fhir}ContractStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "664", + "locator" : "216:1-216:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "664", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "661", + "s" : [ { + "value" : [ "ContributorType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "663", + "s" : [ { + "r" : "663", + "s" : [ { + "r" : "662", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "663", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "663", + "locator" : "216:50-216:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "662", + "locator" : "216:50-216:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "661", + "locator" : "216:32-216:46", + "name" : "{http://hl7.org/fhir}ContributorType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "668", + "locator" : "217:1-217:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "668", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "665", + "s" : [ { + "value" : [ "CoverageStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "667", + "s" : [ { + "r" : "667", + "s" : [ { + "r" : "666", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "667", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "667", + "locator" : "217:49-217:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "666", + "locator" : "217:49-217:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "665", + "locator" : "217:32-217:45", + "name" : "{http://hl7.org/fhir}CoverageStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "672", + "locator" : "218:1-218:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "672", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "669", + "s" : [ { + "value" : [ "CurrencyCode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "671", + "s" : [ { + "r" : "671", + "s" : [ { + "r" : "670", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "671", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "671", + "locator" : "218:47-218:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "670", + "locator" : "218:47-218:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "669", + "locator" : "218:32-218:43", + "name" : "{http://hl7.org/fhir}CurrencyCode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "676", + "locator" : "219:1-219:54", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "676", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "673", + "s" : [ { + "value" : [ "DayOfWeek" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "675", + "s" : [ { + "r" : "675", + "s" : [ { + "r" : "674", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "675", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "675", + "locator" : "219:44-219:54", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "674", + "locator" : "219:44-219:48", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "673", + "locator" : "219:32-219:40", + "name" : "{http://hl7.org/fhir}DayOfWeek", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "680", + "locator" : "220:1-220:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "680", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "677", + "s" : [ { + "value" : [ "DaysOfWeek" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "679", + "s" : [ { + "r" : "679", + "s" : [ { + "r" : "678", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "679", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "679", + "locator" : "220:45-220:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "678", + "locator" : "220:45-220:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "677", + "locator" : "220:32-220:41", + "name" : "{http://hl7.org/fhir}DaysOfWeek", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "684", + "locator" : "221:1-221:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "684", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "681", + "s" : [ { + "value" : [ "DetectedIssueSeverity" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "683", + "s" : [ { + "r" : "683", + "s" : [ { + "r" : "682", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "683", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "683", + "locator" : "221:56-221:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "682", + "locator" : "221:56-221:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "681", + "locator" : "221:32-221:52", + "name" : "{http://hl7.org/fhir}DetectedIssueSeverity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "688", + "locator" : "222:1-222:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "688", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "685", + "s" : [ { + "value" : [ "DetectedIssueStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "687", + "s" : [ { + "r" : "687", + "s" : [ { + "r" : "686", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "687", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "687", + "locator" : "222:54-222:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "686", + "locator" : "222:54-222:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "685", + "locator" : "222:32-222:50", + "name" : "{http://hl7.org/fhir}DetectedIssueStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "692", + "locator" : "223:1-223:73", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "692", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "689", + "s" : [ { + "value" : [ "DeviceMetricCalibrationState" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "691", + "s" : [ { + "r" : "691", + "s" : [ { + "r" : "690", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "691", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "691", + "locator" : "223:63-223:73", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "690", + "locator" : "223:63-223:67", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "689", + "locator" : "223:32-223:59", + "name" : "{http://hl7.org/fhir}DeviceMetricCalibrationState", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "696", + "locator" : "224:1-224:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "696", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "693", + "s" : [ { + "value" : [ "DeviceMetricCalibrationType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "695", + "s" : [ { + "r" : "695", + "s" : [ { + "r" : "694", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "695", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "695", + "locator" : "224:62-224:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "694", + "locator" : "224:62-224:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "693", + "locator" : "224:32-224:58", + "name" : "{http://hl7.org/fhir}DeviceMetricCalibrationType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "700", + "locator" : "225:1-225:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "700", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "697", + "s" : [ { + "value" : [ "DeviceMetricCategory" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "699", + "s" : [ { + "r" : "699", + "s" : [ { + "r" : "698", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "699", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "699", + "locator" : "225:55-225:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "698", + "locator" : "225:55-225:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "697", + "locator" : "225:32-225:51", + "name" : "{http://hl7.org/fhir}DeviceMetricCategory", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "704", + "locator" : "226:1-226:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "704", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "701", + "s" : [ { + "value" : [ "DeviceMetricColor" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "703", + "s" : [ { + "r" : "703", + "s" : [ { + "r" : "702", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "703", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "703", + "locator" : "226:52-226:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "702", + "locator" : "226:52-226:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "701", + "locator" : "226:32-226:48", + "name" : "{http://hl7.org/fhir}DeviceMetricColor", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "708", + "locator" : "227:1-227:74", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "708", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "705", + "s" : [ { + "value" : [ "DeviceMetricOperationalStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "707", + "s" : [ { + "r" : "707", + "s" : [ { + "r" : "706", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "707", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "707", + "locator" : "227:64-227:74", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "706", + "locator" : "227:64-227:68", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "705", + "locator" : "227:32-227:60", + "name" : "{http://hl7.org/fhir}DeviceMetricOperationalStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "712", + "locator" : "228:1-228:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "712", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "709", + "s" : [ { + "value" : [ "DeviceNameType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "711", + "s" : [ { + "r" : "711", + "s" : [ { + "r" : "710", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "711", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "711", + "locator" : "228:49-228:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "710", + "locator" : "228:49-228:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "709", + "locator" : "228:32-228:45", + "name" : "{http://hl7.org/fhir}DeviceNameType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "716", + "locator" : "229:1-229:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "716", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "713", + "s" : [ { + "value" : [ "DeviceRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "715", + "s" : [ { + "r" : "715", + "s" : [ { + "r" : "714", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "715", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "715", + "locator" : "229:54-229:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "714", + "locator" : "229:54-229:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "713", + "locator" : "229:32-229:50", + "name" : "{http://hl7.org/fhir}DeviceRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "720", + "locator" : "230:1-230:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "720", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "717", + "s" : [ { + "value" : [ "DeviceUseStatementStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "719", + "s" : [ { + "r" : "719", + "s" : [ { + "r" : "718", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "719", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "719", + "locator" : "230:59-230:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "718", + "locator" : "230:59-230:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "717", + "locator" : "230:32-230:55", + "name" : "{http://hl7.org/fhir}DeviceUseStatementStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "724", + "locator" : "231:1-231:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "724", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "721", + "s" : [ { + "value" : [ "DiagnosticReportStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "723", + "s" : [ { + "r" : "723", + "s" : [ { + "r" : "722", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "723", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "723", + "locator" : "231:57-231:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "722", + "locator" : "231:57-231:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "721", + "locator" : "231:32-231:53", + "name" : "{http://hl7.org/fhir}DiagnosticReportStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "728", + "locator" : "232:1-232:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "728", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "725", + "s" : [ { + "value" : [ "DiscriminatorType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "727", + "s" : [ { + "r" : "727", + "s" : [ { + "r" : "726", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "727", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "727", + "locator" : "232:52-232:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "726", + "locator" : "232:52-232:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "725", + "locator" : "232:32-232:48", + "name" : "{http://hl7.org/fhir}DiscriminatorType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "732", + "locator" : "233:1-233:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "732", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "729", + "s" : [ { + "value" : [ "DocumentConfidentiality" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "731", + "s" : [ { + "r" : "731", + "s" : [ { + "r" : "730", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "731", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "731", + "locator" : "233:58-233:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "730", + "locator" : "233:58-233:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "729", + "locator" : "233:32-233:54", + "name" : "{http://hl7.org/fhir}DocumentConfidentiality", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "736", + "locator" : "234:1-234:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "736", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "733", + "s" : [ { + "value" : [ "DocumentMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "735", + "s" : [ { + "r" : "735", + "s" : [ { + "r" : "734", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "735", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "735", + "locator" : "234:47-234:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "734", + "locator" : "234:47-234:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "733", + "locator" : "234:32-234:43", + "name" : "{http://hl7.org/fhir}DocumentMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "740", + "locator" : "235:1-235:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "740", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "737", + "s" : [ { + "value" : [ "DocumentReferenceStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "739", + "s" : [ { + "r" : "739", + "s" : [ { + "r" : "738", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "739", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "739", + "locator" : "235:58-235:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "738", + "locator" : "235:58-235:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "737", + "locator" : "235:32-235:54", + "name" : "{http://hl7.org/fhir}DocumentReferenceStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "744", + "locator" : "236:1-236:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "744", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "741", + "s" : [ { + "value" : [ "DocumentRelationshipType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "743", + "s" : [ { + "r" : "743", + "s" : [ { + "r" : "742", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "743", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "743", + "locator" : "236:59-236:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "742", + "locator" : "236:59-236:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "741", + "locator" : "236:32-236:55", + "name" : "{http://hl7.org/fhir}DocumentRelationshipType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "748", + "locator" : "237:1-237:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "748", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "745", + "s" : [ { + "value" : [ "EligibilityRequestPurpose" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "747", + "s" : [ { + "r" : "747", + "s" : [ { + "r" : "746", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "747", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "747", + "locator" : "237:60-237:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "746", + "locator" : "237:60-237:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "745", + "locator" : "237:32-237:56", + "name" : "{http://hl7.org/fhir}EligibilityRequestPurpose", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "752", + "locator" : "238:1-238:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "752", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "749", + "s" : [ { + "value" : [ "EligibilityRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "751", + "s" : [ { + "r" : "751", + "s" : [ { + "r" : "750", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "751", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "751", + "locator" : "238:59-238:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "750", + "locator" : "238:59-238:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "749", + "locator" : "238:32-238:55", + "name" : "{http://hl7.org/fhir}EligibilityRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "756", + "locator" : "239:1-239:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "756", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "753", + "s" : [ { + "value" : [ "EligibilityResponsePurpose" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "755", + "s" : [ { + "r" : "755", + "s" : [ { + "r" : "754", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "755", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "755", + "locator" : "239:61-239:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "754", + "locator" : "239:61-239:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "753", + "locator" : "239:32-239:57", + "name" : "{http://hl7.org/fhir}EligibilityResponsePurpose", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "760", + "locator" : "240:1-240:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "760", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "757", + "s" : [ { + "value" : [ "EligibilityResponseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "759", + "s" : [ { + "r" : "759", + "s" : [ { + "r" : "758", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "759", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "759", + "locator" : "240:60-240:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "758", + "locator" : "240:60-240:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "757", + "locator" : "240:32-240:56", + "name" : "{http://hl7.org/fhir}EligibilityResponseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "764", + "locator" : "241:1-241:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "764", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "761", + "s" : [ { + "value" : [ "EnableWhenBehavior" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "763", + "s" : [ { + "r" : "763", + "s" : [ { + "r" : "762", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "763", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "763", + "locator" : "241:53-241:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "762", + "locator" : "241:53-241:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "761", + "locator" : "241:32-241:49", + "name" : "{http://hl7.org/fhir}EnableWhenBehavior", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "768", + "locator" : "242:1-242:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "768", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "765", + "s" : [ { + "value" : [ "EncounterLocationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "767", + "s" : [ { + "r" : "767", + "s" : [ { + "r" : "766", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "767", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "767", + "locator" : "242:58-242:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "766", + "locator" : "242:58-242:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "765", + "locator" : "242:32-242:54", + "name" : "{http://hl7.org/fhir}EncounterLocationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "772", + "locator" : "243:1-243:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "772", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "769", + "s" : [ { + "value" : [ "EncounterStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "771", + "s" : [ { + "r" : "771", + "s" : [ { + "r" : "770", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "771", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "771", + "locator" : "243:50-243:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "770", + "locator" : "243:50-243:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "769", + "locator" : "243:32-243:46", + "name" : "{http://hl7.org/fhir}EncounterStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "776", + "locator" : "244:1-244:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "776", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "773", + "s" : [ { + "value" : [ "EndpointStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "775", + "s" : [ { + "r" : "775", + "s" : [ { + "r" : "774", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "775", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "775", + "locator" : "244:49-244:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "774", + "locator" : "244:49-244:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "773", + "locator" : "244:32-244:45", + "name" : "{http://hl7.org/fhir}EndpointStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "780", + "locator" : "245:1-245:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "780", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "777", + "s" : [ { + "value" : [ "EnrollmentRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "779", + "s" : [ { + "r" : "779", + "s" : [ { + "r" : "778", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "779", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "779", + "locator" : "245:58-245:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "778", + "locator" : "245:58-245:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "777", + "locator" : "245:32-245:54", + "name" : "{http://hl7.org/fhir}EnrollmentRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "784", + "locator" : "246:1-246:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "784", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "781", + "s" : [ { + "value" : [ "EnrollmentResponseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "783", + "s" : [ { + "r" : "783", + "s" : [ { + "r" : "782", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "783", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "783", + "locator" : "246:59-246:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "782", + "locator" : "246:59-246:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "781", + "locator" : "246:32-246:55", + "name" : "{http://hl7.org/fhir}EnrollmentResponseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "788", + "locator" : "247:1-247:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "788", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "785", + "s" : [ { + "value" : [ "EpisodeOfCareStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "787", + "s" : [ { + "r" : "787", + "s" : [ { + "r" : "786", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "787", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "787", + "locator" : "247:54-247:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "786", + "locator" : "247:54-247:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "785", + "locator" : "247:32-247:50", + "name" : "{http://hl7.org/fhir}EpisodeOfCareStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "792", + "locator" : "248:1-248:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "792", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "789", + "s" : [ { + "value" : [ "EventCapabilityMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "791", + "s" : [ { + "r" : "791", + "s" : [ { + "r" : "790", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "791", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "791", + "locator" : "248:54-248:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "790", + "locator" : "248:54-248:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "789", + "locator" : "248:32-248:50", + "name" : "{http://hl7.org/fhir}EventCapabilityMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "796", + "locator" : "249:1-249:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "796", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "793", + "s" : [ { + "value" : [ "EventTiming" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "795", + "s" : [ { + "r" : "795", + "s" : [ { + "r" : "794", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "795", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "795", + "locator" : "249:46-249:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "794", + "locator" : "249:46-249:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "793", + "locator" : "249:32-249:42", + "name" : "{http://hl7.org/fhir}EventTiming", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "800", + "locator" : "250:1-250:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "800", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "797", + "s" : [ { + "value" : [ "EvidenceVariableType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "799", + "s" : [ { + "r" : "799", + "s" : [ { + "r" : "798", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "799", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "799", + "locator" : "250:55-250:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "798", + "locator" : "250:55-250:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "797", + "locator" : "250:32-250:51", + "name" : "{http://hl7.org/fhir}EvidenceVariableType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "804", + "locator" : "251:1-251:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "804", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "801", + "s" : [ { + "value" : [ "ExampleScenarioActorType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "803", + "s" : [ { + "r" : "803", + "s" : [ { + "r" : "802", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "803", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "803", + "locator" : "251:59-251:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "802", + "locator" : "251:59-251:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "801", + "locator" : "251:32-251:55", + "name" : "{http://hl7.org/fhir}ExampleScenarioActorType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "808", + "locator" : "252:1-252:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "808", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "805", + "s" : [ { + "value" : [ "ExplanationOfBenefitStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "807", + "s" : [ { + "r" : "807", + "s" : [ { + "r" : "806", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "807", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "807", + "locator" : "252:61-252:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "806", + "locator" : "252:61-252:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "805", + "locator" : "252:32-252:57", + "name" : "{http://hl7.org/fhir}ExplanationOfBenefitStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "812", + "locator" : "253:1-253:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "812", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "809", + "s" : [ { + "value" : [ "ExposureState" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "811", + "s" : [ { + "r" : "811", + "s" : [ { + "r" : "810", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "811", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "811", + "locator" : "253:48-253:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "810", + "locator" : "253:48-253:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "809", + "locator" : "253:32-253:44", + "name" : "{http://hl7.org/fhir}ExposureState", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "816", + "locator" : "254:1-254:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "816", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "813", + "s" : [ { + "value" : [ "ExtensionContextType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "815", + "s" : [ { + "r" : "815", + "s" : [ { + "r" : "814", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "815", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "815", + "locator" : "254:55-254:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "814", + "locator" : "254:55-254:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "813", + "locator" : "254:32-254:51", + "name" : "{http://hl7.org/fhir}ExtensionContextType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "820", + "locator" : "255:1-255:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "820", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "817", + "s" : [ { + "value" : [ "FHIRAllTypes" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "819", + "s" : [ { + "r" : "819", + "s" : [ { + "r" : "818", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "819", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "819", + "locator" : "255:47-255:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "818", + "locator" : "255:47-255:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "817", + "locator" : "255:32-255:43", + "name" : "{http://hl7.org/fhir}FHIRAllTypes", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "824", + "locator" : "256:1-256:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "824", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "821", + "s" : [ { + "value" : [ "FHIRDefinedType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "823", + "s" : [ { + "r" : "823", + "s" : [ { + "r" : "822", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "823", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "823", + "locator" : "256:50-256:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "822", + "locator" : "256:50-256:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "821", + "locator" : "256:32-256:46", + "name" : "{http://hl7.org/fhir}FHIRDefinedType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "828", + "locator" : "257:1-257:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "828", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "825", + "s" : [ { + "value" : [ "FHIRDeviceStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "827", + "s" : [ { + "r" : "827", + "s" : [ { + "r" : "826", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "827", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "827", + "locator" : "257:51-257:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "826", + "locator" : "257:51-257:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "825", + "locator" : "257:32-257:47", + "name" : "{http://hl7.org/fhir}FHIRDeviceStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "832", + "locator" : "258:1-258:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "832", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "829", + "s" : [ { + "value" : [ "FHIRResourceType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "831", + "s" : [ { + "r" : "831", + "s" : [ { + "r" : "830", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "831", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "831", + "locator" : "258:51-258:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "830", + "locator" : "258:51-258:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "829", + "locator" : "258:32-258:47", + "name" : "{http://hl7.org/fhir}FHIRResourceType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "836", + "locator" : "259:1-259:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "836", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "833", + "s" : [ { + "value" : [ "FHIRSubstanceStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "835", + "s" : [ { + "r" : "835", + "s" : [ { + "r" : "834", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "835", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "835", + "locator" : "259:54-259:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "834", + "locator" : "259:54-259:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "833", + "locator" : "259:32-259:50", + "name" : "{http://hl7.org/fhir}FHIRSubstanceStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "840", + "locator" : "260:1-260:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "840", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "837", + "s" : [ { + "value" : [ "FHIRVersion" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "839", + "s" : [ { + "r" : "839", + "s" : [ { + "r" : "838", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "839", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "839", + "locator" : "260:46-260:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "838", + "locator" : "260:46-260:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "837", + "locator" : "260:32-260:42", + "name" : "{http://hl7.org/fhir}FHIRVersion", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "844", + "locator" : "261:1-261:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "844", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "841", + "s" : [ { + "value" : [ "FamilyHistoryStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "843", + "s" : [ { + "r" : "843", + "s" : [ { + "r" : "842", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "843", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "843", + "locator" : "261:54-261:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "842", + "locator" : "261:54-261:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "841", + "locator" : "261:32-261:50", + "name" : "{http://hl7.org/fhir}FamilyHistoryStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "848", + "locator" : "262:1-262:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "848", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "845", + "s" : [ { + "value" : [ "FilterOperator" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "847", + "s" : [ { + "r" : "847", + "s" : [ { + "r" : "846", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "847", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "847", + "locator" : "262:49-262:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "846", + "locator" : "262:49-262:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "845", + "locator" : "262:32-262:45", + "name" : "{http://hl7.org/fhir}FilterOperator", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "852", + "locator" : "263:1-263:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "852", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "849", + "s" : [ { + "value" : [ "FlagStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "851", + "s" : [ { + "r" : "851", + "s" : [ { + "r" : "850", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "851", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "851", + "locator" : "263:45-263:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "850", + "locator" : "263:45-263:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "849", + "locator" : "263:32-263:41", + "name" : "{http://hl7.org/fhir}FlagStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "856", + "locator" : "264:1-264:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "856", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "853", + "s" : [ { + "value" : [ "GoalLifecycleStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "855", + "s" : [ { + "r" : "855", + "s" : [ { + "r" : "854", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "855", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "855", + "locator" : "264:54-264:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "854", + "locator" : "264:54-264:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "853", + "locator" : "264:32-264:50", + "name" : "{http://hl7.org/fhir}GoalLifecycleStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "860", + "locator" : "265:1-265:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "860", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "857", + "s" : [ { + "value" : [ "GraphCompartmentRule" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "859", + "s" : [ { + "r" : "859", + "s" : [ { + "r" : "858", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "859", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "859", + "locator" : "265:55-265:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "858", + "locator" : "265:55-265:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "857", + "locator" : "265:32-265:51", + "name" : "{http://hl7.org/fhir}GraphCompartmentRule", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "864", + "locator" : "266:1-266:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "864", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "861", + "s" : [ { + "value" : [ "GraphCompartmentUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "863", + "s" : [ { + "r" : "863", + "s" : [ { + "r" : "862", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "863", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "863", + "locator" : "266:54-266:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "862", + "locator" : "266:54-266:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "861", + "locator" : "266:32-266:50", + "name" : "{http://hl7.org/fhir}GraphCompartmentUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "868", + "locator" : "267:1-267:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "868", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "865", + "s" : [ { + "value" : [ "GroupMeasure" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "867", + "s" : [ { + "r" : "867", + "s" : [ { + "r" : "866", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "867", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "867", + "locator" : "267:47-267:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "866", + "locator" : "267:47-267:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "865", + "locator" : "267:32-267:43", + "name" : "{http://hl7.org/fhir}GroupMeasure", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "872", + "locator" : "268:1-268:54", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "872", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "869", + "s" : [ { + "value" : [ "GroupType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "871", + "s" : [ { + "r" : "871", + "s" : [ { + "r" : "870", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "871", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "871", + "locator" : "268:44-268:54", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "870", + "locator" : "268:44-268:48", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "869", + "locator" : "268:32-268:40", + "name" : "{http://hl7.org/fhir}GroupType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "876", + "locator" : "269:1-269:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "876", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "873", + "s" : [ { + "value" : [ "GuidanceResponseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "875", + "s" : [ { + "r" : "875", + "s" : [ { + "r" : "874", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "875", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "875", + "locator" : "269:57-269:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "874", + "locator" : "269:57-269:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "873", + "locator" : "269:32-269:53", + "name" : "{http://hl7.org/fhir}GuidanceResponseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "880", + "locator" : "270:1-270:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "880", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "877", + "s" : [ { + "value" : [ "GuidePageGeneration" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "879", + "s" : [ { + "r" : "879", + "s" : [ { + "r" : "878", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "879", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "879", + "locator" : "270:54-270:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "878", + "locator" : "270:54-270:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "877", + "locator" : "270:32-270:50", + "name" : "{http://hl7.org/fhir}GuidePageGeneration", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "884", + "locator" : "271:1-271:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "884", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "881", + "s" : [ { + "value" : [ "GuideParameterCode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "883", + "s" : [ { + "r" : "883", + "s" : [ { + "r" : "882", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "883", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "883", + "locator" : "271:53-271:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "882", + "locator" : "271:53-271:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "881", + "locator" : "271:32-271:49", + "name" : "{http://hl7.org/fhir}GuideParameterCode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "888", + "locator" : "272:1-272:53", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "888", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "885", + "s" : [ { + "value" : [ "HTTPVerb" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "887", + "s" : [ { + "r" : "887", + "s" : [ { + "r" : "886", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "887", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "887", + "locator" : "272:43-272:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "886", + "locator" : "272:43-272:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "885", + "locator" : "272:32-272:39", + "name" : "{http://hl7.org/fhir}HTTPVerb", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "892", + "locator" : "273:1-273:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "892", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "889", + "s" : [ { + "value" : [ "IdentifierUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "891", + "s" : [ { + "r" : "891", + "s" : [ { + "r" : "890", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "891", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "891", + "locator" : "273:48-273:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "890", + "locator" : "273:48-273:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "889", + "locator" : "273:32-273:44", + "name" : "{http://hl7.org/fhir}IdentifierUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "896", + "locator" : "274:1-274:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "896", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "893", + "s" : [ { + "value" : [ "IdentityAssuranceLevel" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "895", + "s" : [ { + "r" : "895", + "s" : [ { + "r" : "894", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "895", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "895", + "locator" : "274:57-274:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "894", + "locator" : "274:57-274:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "893", + "locator" : "274:32-274:53", + "name" : "{http://hl7.org/fhir}IdentityAssuranceLevel", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "900", + "locator" : "275:1-275:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "900", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "897", + "s" : [ { + "value" : [ "ImagingStudyStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "899", + "s" : [ { + "r" : "899", + "s" : [ { + "r" : "898", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "899", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "899", + "locator" : "275:53-275:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "898", + "locator" : "275:53-275:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "897", + "locator" : "275:32-275:49", + "name" : "{http://hl7.org/fhir}ImagingStudyStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "904", + "locator" : "276:1-276:73", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "904", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "901", + "s" : [ { + "value" : [ "ImmunizationEvaluationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "903", + "s" : [ { + "r" : "903", + "s" : [ { + "r" : "902", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "903", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "903", + "locator" : "276:63-276:73", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "902", + "locator" : "276:63-276:67", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "901", + "locator" : "276:32-276:59", + "name" : "{http://hl7.org/fhir}ImmunizationEvaluationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "908", + "locator" : "277:1-277:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "908", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "905", + "s" : [ { + "value" : [ "ImmunizationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "907", + "s" : [ { + "r" : "907", + "s" : [ { + "r" : "906", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "907", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "907", + "locator" : "277:53-277:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "906", + "locator" : "277:53-277:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "905", + "locator" : "277:32-277:49", + "name" : "{http://hl7.org/fhir}ImmunizationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "912", + "locator" : "278:1-278:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "912", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "909", + "s" : [ { + "value" : [ "InvoicePriceComponentType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "911", + "s" : [ { + "r" : "911", + "s" : [ { + "r" : "910", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "911", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "911", + "locator" : "278:60-278:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "910", + "locator" : "278:60-278:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "909", + "locator" : "278:32-278:56", + "name" : "{http://hl7.org/fhir}InvoicePriceComponentType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "916", + "locator" : "279:1-279:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "916", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "913", + "s" : [ { + "value" : [ "InvoiceStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "915", + "s" : [ { + "r" : "915", + "s" : [ { + "r" : "914", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "915", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "915", + "locator" : "279:48-279:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "914", + "locator" : "279:48-279:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "913", + "locator" : "279:32-279:44", + "name" : "{http://hl7.org/fhir}InvoiceStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "920", + "locator" : "280:1-280:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "920", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "917", + "s" : [ { + "value" : [ "IssueSeverity" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "919", + "s" : [ { + "r" : "919", + "s" : [ { + "r" : "918", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "919", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "919", + "locator" : "280:48-280:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "918", + "locator" : "280:48-280:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "917", + "locator" : "280:32-280:44", + "name" : "{http://hl7.org/fhir}IssueSeverity", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "924", + "locator" : "281:1-281:54", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "924", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "921", + "s" : [ { + "value" : [ "IssueType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "923", + "s" : [ { + "r" : "923", + "s" : [ { + "r" : "922", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "923", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "923", + "locator" : "281:44-281:54", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "922", + "locator" : "281:44-281:48", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "921", + "locator" : "281:32-281:40", + "name" : "{http://hl7.org/fhir}IssueType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "928", + "locator" : "282:1-282:53", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "928", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "925", + "s" : [ { + "value" : [ "LinkType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "927", + "s" : [ { + "r" : "927", + "s" : [ { + "r" : "926", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "927", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "927", + "locator" : "282:43-282:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "926", + "locator" : "282:43-282:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "925", + "locator" : "282:32-282:39", + "name" : "{http://hl7.org/fhir}LinkType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "932", + "locator" : "283:1-283:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "932", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "929", + "s" : [ { + "value" : [ "LinkageType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "931", + "s" : [ { + "r" : "931", + "s" : [ { + "r" : "930", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "931", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "931", + "locator" : "283:46-283:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "930", + "locator" : "283:46-283:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "929", + "locator" : "283:32-283:42", + "name" : "{http://hl7.org/fhir}LinkageType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "936", + "locator" : "284:1-284:53", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "936", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "933", + "s" : [ { + "value" : [ "ListMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "935", + "s" : [ { + "r" : "935", + "s" : [ { + "r" : "934", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "935", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "935", + "locator" : "284:43-284:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "934", + "locator" : "284:43-284:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "933", + "locator" : "284:32-284:39", + "name" : "{http://hl7.org/fhir}ListMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "940", + "locator" : "285:1-285:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "940", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "937", + "s" : [ { + "value" : [ "ListStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "939", + "s" : [ { + "r" : "939", + "s" : [ { + "r" : "938", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "939", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "939", + "locator" : "285:45-285:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "938", + "locator" : "285:45-285:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "937", + "locator" : "285:32-285:41", + "name" : "{http://hl7.org/fhir}ListStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "944", + "locator" : "286:1-286:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "944", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "941", + "s" : [ { + "value" : [ "LocationMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "943", + "s" : [ { + "r" : "943", + "s" : [ { + "r" : "942", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "943", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "943", + "locator" : "286:47-286:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "942", + "locator" : "286:47-286:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "941", + "locator" : "286:32-286:43", + "name" : "{http://hl7.org/fhir}LocationMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "948", + "locator" : "287:1-287:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "948", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "945", + "s" : [ { + "value" : [ "LocationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "947", + "s" : [ { + "r" : "947", + "s" : [ { + "r" : "946", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "947", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "947", + "locator" : "287:49-287:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "946", + "locator" : "287:49-287:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "945", + "locator" : "287:32-287:45", + "name" : "{http://hl7.org/fhir}LocationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "952", + "locator" : "288:1-288:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "952", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "949", + "s" : [ { + "value" : [ "MeasureReportStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "951", + "s" : [ { + "r" : "951", + "s" : [ { + "r" : "950", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "951", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "951", + "locator" : "288:54-288:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "950", + "locator" : "288:54-288:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "949", + "locator" : "288:32-288:50", + "name" : "{http://hl7.org/fhir}MeasureReportStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "956", + "locator" : "289:1-289:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "956", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "953", + "s" : [ { + "value" : [ "MeasureReportType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "955", + "s" : [ { + "r" : "955", + "s" : [ { + "r" : "954", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "955", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "955", + "locator" : "289:52-289:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "954", + "locator" : "289:52-289:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "953", + "locator" : "289:32-289:48", + "name" : "{http://hl7.org/fhir}MeasureReportType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "960", + "locator" : "290:1-290:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "960", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "957", + "s" : [ { + "value" : [ "MediaStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "959", + "s" : [ { + "r" : "959", + "s" : [ { + "r" : "958", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "959", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "959", + "locator" : "290:46-290:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "958", + "locator" : "290:46-290:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "957", + "locator" : "290:32-290:42", + "name" : "{http://hl7.org/fhir}MediaStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "964", + "locator" : "291:1-291:75", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "964", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "961", + "s" : [ { + "value" : [ "MedicationAdministrationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "963", + "s" : [ { + "r" : "963", + "s" : [ { + "r" : "962", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "963", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "963", + "locator" : "291:65-291:75", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "962", + "locator" : "291:65-291:69", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "961", + "locator" : "291:32-291:61", + "name" : "{http://hl7.org/fhir}MedicationAdministrationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "968", + "locator" : "292:1-292:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "968", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "965", + "s" : [ { + "value" : [ "MedicationDispenseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "967", + "s" : [ { + "r" : "967", + "s" : [ { + "r" : "966", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "967", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "967", + "locator" : "292:59-292:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "966", + "locator" : "292:59-292:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "965", + "locator" : "292:32-292:55", + "name" : "{http://hl7.org/fhir}MedicationDispenseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "972", + "locator" : "293:1-293:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "972", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "969", + "s" : [ { + "value" : [ "MedicationKnowledgeStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "971", + "s" : [ { + "r" : "971", + "s" : [ { + "r" : "970", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "971", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "971", + "locator" : "293:60-293:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "970", + "locator" : "293:60-293:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "969", + "locator" : "293:32-293:56", + "name" : "{http://hl7.org/fhir}MedicationKnowledgeStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "976", + "locator" : "294:1-294:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "976", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "973", + "s" : [ { + "value" : [ "MedicationRequestIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "975", + "s" : [ { + "r" : "975", + "s" : [ { + "r" : "974", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "975", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "975", + "locator" : "294:58-294:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "974", + "locator" : "294:58-294:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "973", + "locator" : "294:32-294:54", + "name" : "{http://hl7.org/fhir}MedicationRequestIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "980", + "locator" : "295:1-295:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "980", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "977", + "s" : [ { + "value" : [ "MedicationRequestPriority" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "979", + "s" : [ { + "r" : "979", + "s" : [ { + "r" : "978", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "979", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "979", + "locator" : "295:60-295:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "978", + "locator" : "295:60-295:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "977", + "locator" : "295:32-295:56", + "name" : "{http://hl7.org/fhir}MedicationRequestPriority", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "984", + "locator" : "296:1-296:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "984", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "981", + "s" : [ { + "value" : [ "MedicationRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "983", + "s" : [ { + "r" : "983", + "s" : [ { + "r" : "982", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "983", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "983", + "locator" : "296:58-296:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "982", + "locator" : "296:58-296:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "981", + "locator" : "296:32-296:54", + "name" : "{http://hl7.org/fhir}MedicationRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "988", + "locator" : "297:1-297:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "988", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "985", + "s" : [ { + "value" : [ "MedicationStatementStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "987", + "s" : [ { + "r" : "987", + "s" : [ { + "r" : "986", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "987", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "987", + "locator" : "297:60-297:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "986", + "locator" : "297:60-297:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "985", + "locator" : "297:32-297:56", + "name" : "{http://hl7.org/fhir}MedicationStatementStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "992", + "locator" : "298:1-298:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "992", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "989", + "s" : [ { + "value" : [ "MedicationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "991", + "s" : [ { + "r" : "991", + "s" : [ { + "r" : "990", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "991", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "991", + "locator" : "298:51-298:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "990", + "locator" : "298:51-298:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "989", + "locator" : "298:32-298:47", + "name" : "{http://hl7.org/fhir}MedicationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "996", + "locator" : "299:1-299:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "996", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "993", + "s" : [ { + "value" : [ "MessageSignificanceCategory" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "995", + "s" : [ { + "r" : "995", + "s" : [ { + "r" : "994", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "995", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "995", + "locator" : "299:62-299:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "994", + "locator" : "299:62-299:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "993", + "locator" : "299:32-299:58", + "name" : "{http://hl7.org/fhir}MessageSignificanceCategory", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1000", + "locator" : "300:1-300:75", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1000", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "997", + "s" : [ { + "value" : [ "Messageheader_Response_Request" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "999", + "s" : [ { + "r" : "999", + "s" : [ { + "r" : "998", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "999", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "999", + "locator" : "300:65-300:75", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "998", + "locator" : "300:65-300:69", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "997", + "locator" : "300:32-300:61", + "name" : "{http://hl7.org/fhir}Messageheader_Response_Request", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1004", + "locator" : "301:1-301:53", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1004", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1001", + "s" : [ { + "value" : [ "MimeType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1003", + "s" : [ { + "r" : "1003", + "s" : [ { + "r" : "1002", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1003", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1003", + "locator" : "301:43-301:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1002", + "locator" : "301:43-301:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1001", + "locator" : "301:32-301:39", + "name" : "{http://hl7.org/fhir}MimeType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1008", + "locator" : "302:1-302:52", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1008", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1005", + "s" : [ { + "value" : [ "NameUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1007", + "s" : [ { + "r" : "1007", + "s" : [ { + "r" : "1006", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1007", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1007", + "locator" : "302:42-302:52", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1006", + "locator" : "302:42-302:46", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1005", + "locator" : "302:32-302:38", + "name" : "{http://hl7.org/fhir}NameUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1012", + "locator" : "303:1-303:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1012", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1009", + "s" : [ { + "value" : [ "NamingSystemIdentifierType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1011", + "s" : [ { + "r" : "1011", + "s" : [ { + "r" : "1010", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1011", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1011", + "locator" : "303:61-303:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1010", + "locator" : "303:61-303:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1009", + "locator" : "303:32-303:57", + "name" : "{http://hl7.org/fhir}NamingSystemIdentifierType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1016", + "locator" : "304:1-304:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1016", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1013", + "s" : [ { + "value" : [ "NamingSystemType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1015", + "s" : [ { + "r" : "1015", + "s" : [ { + "r" : "1014", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1015", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1015", + "locator" : "304:51-304:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1014", + "locator" : "304:51-304:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1013", + "locator" : "304:32-304:47", + "name" : "{http://hl7.org/fhir}NamingSystemType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1020", + "locator" : "305:1-305:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1020", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1017", + "s" : [ { + "value" : [ "NarrativeStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1019", + "s" : [ { + "r" : "1019", + "s" : [ { + "r" : "1018", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1019", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1019", + "locator" : "305:50-305:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1018", + "locator" : "305:50-305:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1017", + "locator" : "305:32-305:46", + "name" : "{http://hl7.org/fhir}NarrativeStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1024", + "locator" : "306:1-306:53", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1024", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1021", + "s" : [ { + "value" : [ "NoteType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1023", + "s" : [ { + "r" : "1023", + "s" : [ { + "r" : "1022", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1023", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1023", + "locator" : "306:43-306:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1022", + "locator" : "306:43-306:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1021", + "locator" : "306:32-306:39", + "name" : "{http://hl7.org/fhir}NoteType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1028", + "locator" : "307:1-307:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1028", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1025", + "s" : [ { + "value" : [ "NutritiionOrderIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1027", + "s" : [ { + "r" : "1027", + "s" : [ { + "r" : "1026", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1027", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1027", + "locator" : "307:56-307:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1026", + "locator" : "307:56-307:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1025", + "locator" : "307:32-307:52", + "name" : "{http://hl7.org/fhir}NutritiionOrderIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1032", + "locator" : "308:1-308:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1032", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1029", + "s" : [ { + "value" : [ "NutritionOrderStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1031", + "s" : [ { + "r" : "1031", + "s" : [ { + "r" : "1030", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1031", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1031", + "locator" : "308:55-308:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1030", + "locator" : "308:55-308:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1029", + "locator" : "308:32-308:51", + "name" : "{http://hl7.org/fhir}NutritionOrderStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1036", + "locator" : "309:1-309:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1036", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1033", + "s" : [ { + "value" : [ "ObservationDataType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1035", + "s" : [ { + "r" : "1035", + "s" : [ { + "r" : "1034", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1035", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1035", + "locator" : "309:54-309:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1034", + "locator" : "309:54-309:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1033", + "locator" : "309:32-309:50", + "name" : "{http://hl7.org/fhir}ObservationDataType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1040", + "locator" : "310:1-310:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1040", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1037", + "s" : [ { + "value" : [ "ObservationRangeCategory" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1039", + "s" : [ { + "r" : "1039", + "s" : [ { + "r" : "1038", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1039", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1039", + "locator" : "310:59-310:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1038", + "locator" : "310:59-310:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1037", + "locator" : "310:32-310:55", + "name" : "{http://hl7.org/fhir}ObservationRangeCategory", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1044", + "locator" : "311:1-311:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1044", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1041", + "s" : [ { + "value" : [ "ObservationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1043", + "s" : [ { + "r" : "1043", + "s" : [ { + "r" : "1042", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1043", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1043", + "locator" : "311:52-311:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1042", + "locator" : "311:52-311:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1041", + "locator" : "311:32-311:48", + "name" : "{http://hl7.org/fhir}ObservationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1048", + "locator" : "312:1-312:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1048", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1045", + "s" : [ { + "value" : [ "OperationKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1047", + "s" : [ { + "r" : "1047", + "s" : [ { + "r" : "1046", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1047", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1047", + "locator" : "312:48-312:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1046", + "locator" : "312:48-312:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1045", + "locator" : "312:32-312:44", + "name" : "{http://hl7.org/fhir}OperationKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1052", + "locator" : "313:1-313:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1052", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1049", + "s" : [ { + "value" : [ "OperationParameterUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1051", + "s" : [ { + "r" : "1051", + "s" : [ { + "r" : "1050", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1051", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1051", + "locator" : "313:56-313:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1050", + "locator" : "313:56-313:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1049", + "locator" : "313:32-313:52", + "name" : "{http://hl7.org/fhir}OperationParameterUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1056", + "locator" : "314:1-314:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1056", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1053", + "s" : [ { + "value" : [ "OrientationType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1055", + "s" : [ { + "r" : "1055", + "s" : [ { + "r" : "1054", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1055", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1055", + "locator" : "314:50-314:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1054", + "locator" : "314:50-314:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1053", + "locator" : "314:32-314:46", + "name" : "{http://hl7.org/fhir}OrientationType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1060", + "locator" : "315:1-315:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1060", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1057", + "s" : [ { + "value" : [ "ParameterUse" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1059", + "s" : [ { + "r" : "1059", + "s" : [ { + "r" : "1058", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1059", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1059", + "locator" : "315:47-315:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1058", + "locator" : "315:47-315:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1057", + "locator" : "315:32-315:43", + "name" : "{http://hl7.org/fhir}ParameterUse", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1064", + "locator" : "316:1-316:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1064", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1061", + "s" : [ { + "value" : [ "ParticipantRequired" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1063", + "s" : [ { + "r" : "1063", + "s" : [ { + "r" : "1062", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1063", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1063", + "locator" : "316:54-316:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1062", + "locator" : "316:54-316:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1061", + "locator" : "316:32-316:50", + "name" : "{http://hl7.org/fhir}ParticipantRequired", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1068", + "locator" : "317:1-317:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1068", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1065", + "s" : [ { + "value" : [ "ParticipantStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1067", + "s" : [ { + "r" : "1067", + "s" : [ { + "r" : "1066", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1067", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1067", + "locator" : "317:52-317:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1066", + "locator" : "317:52-317:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1065", + "locator" : "317:32-317:48", + "name" : "{http://hl7.org/fhir}ParticipantStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1072", + "locator" : "318:1-318:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1072", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1069", + "s" : [ { + "value" : [ "ParticipationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1071", + "s" : [ { + "r" : "1071", + "s" : [ { + "r" : "1070", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1071", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1071", + "locator" : "318:54-318:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1070", + "locator" : "318:54-318:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1069", + "locator" : "318:32-318:50", + "name" : "{http://hl7.org/fhir}ParticipationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1076", + "locator" : "319:1-319:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1076", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1073", + "s" : [ { + "value" : [ "PaymentNoticeStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1075", + "s" : [ { + "r" : "1075", + "s" : [ { + "r" : "1074", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1075", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1075", + "locator" : "319:54-319:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1074", + "locator" : "319:54-319:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1073", + "locator" : "319:32-319:50", + "name" : "{http://hl7.org/fhir}PaymentNoticeStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1080", + "locator" : "320:1-320:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1080", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1077", + "s" : [ { + "value" : [ "PaymentReconciliationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1079", + "s" : [ { + "r" : "1079", + "s" : [ { + "r" : "1078", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1079", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1079", + "locator" : "320:62-320:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1078", + "locator" : "320:62-320:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1077", + "locator" : "320:32-320:58", + "name" : "{http://hl7.org/fhir}PaymentReconciliationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1084", + "locator" : "321:1-321:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1084", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1081", + "s" : [ { + "value" : [ "ProcedureStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1083", + "s" : [ { + "r" : "1083", + "s" : [ { + "r" : "1082", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1083", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1083", + "locator" : "321:50-321:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1082", + "locator" : "321:50-321:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1081", + "locator" : "321:32-321:46", + "name" : "{http://hl7.org/fhir}ProcedureStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1088", + "locator" : "322:1-322:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1088", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1085", + "s" : [ { + "value" : [ "PropertyRepresentation" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1087", + "s" : [ { + "r" : "1087", + "s" : [ { + "r" : "1086", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1087", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1087", + "locator" : "322:57-322:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1086", + "locator" : "322:57-322:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1085", + "locator" : "322:32-322:53", + "name" : "{http://hl7.org/fhir}PropertyRepresentation", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1092", + "locator" : "323:1-323:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1092", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1089", + "s" : [ { + "value" : [ "PropertyType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1091", + "s" : [ { + "r" : "1091", + "s" : [ { + "r" : "1090", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1091", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1091", + "locator" : "323:47-323:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1090", + "locator" : "323:47-323:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1089", + "locator" : "323:32-323:43", + "name" : "{http://hl7.org/fhir}PropertyType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1096", + "locator" : "324:1-324:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1096", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1093", + "s" : [ { + "value" : [ "ProvenanceEntityRole" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1095", + "s" : [ { + "r" : "1095", + "s" : [ { + "r" : "1094", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1095", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1095", + "locator" : "324:55-324:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1094", + "locator" : "324:55-324:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1093", + "locator" : "324:32-324:51", + "name" : "{http://hl7.org/fhir}ProvenanceEntityRole", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1100", + "locator" : "325:1-325:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1100", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1097", + "s" : [ { + "value" : [ "PublicationStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1099", + "s" : [ { + "r" : "1099", + "s" : [ { + "r" : "1098", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1099", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1099", + "locator" : "325:52-325:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1098", + "locator" : "325:52-325:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1097", + "locator" : "325:32-325:48", + "name" : "{http://hl7.org/fhir}PublicationStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1104", + "locator" : "326:1-326:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1104", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1101", + "s" : [ { + "value" : [ "QualityType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1103", + "s" : [ { + "r" : "1103", + "s" : [ { + "r" : "1102", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1103", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1103", + "locator" : "326:46-326:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1102", + "locator" : "326:46-326:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1101", + "locator" : "326:32-326:42", + "name" : "{http://hl7.org/fhir}QualityType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1108", + "locator" : "327:1-327:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1108", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1105", + "s" : [ { + "value" : [ "QuantityComparator" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1107", + "s" : [ { + "r" : "1107", + "s" : [ { + "r" : "1106", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1107", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1107", + "locator" : "327:53-327:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1106", + "locator" : "327:53-327:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1105", + "locator" : "327:32-327:49", + "name" : "{http://hl7.org/fhir}QuantityComparator", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1112", + "locator" : "328:1-328:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1112", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1109", + "s" : [ { + "value" : [ "QuestionnaireItemOperator" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1111", + "s" : [ { + "r" : "1111", + "s" : [ { + "r" : "1110", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1111", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1111", + "locator" : "328:60-328:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1110", + "locator" : "328:60-328:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1109", + "locator" : "328:32-328:56", + "name" : "{http://hl7.org/fhir}QuestionnaireItemOperator", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1116", + "locator" : "329:1-329:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1116", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1113", + "s" : [ { + "value" : [ "QuestionnaireItemType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1115", + "s" : [ { + "r" : "1115", + "s" : [ { + "r" : "1114", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1115", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1115", + "locator" : "329:56-329:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1114", + "locator" : "329:56-329:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1113", + "locator" : "329:32-329:52", + "name" : "{http://hl7.org/fhir}QuestionnaireItemType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1120", + "locator" : "330:1-330:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1120", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1117", + "s" : [ { + "value" : [ "QuestionnaireResponseStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1119", + "s" : [ { + "r" : "1119", + "s" : [ { + "r" : "1118", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1119", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1119", + "locator" : "330:62-330:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1118", + "locator" : "330:62-330:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1117", + "locator" : "330:32-330:58", + "name" : "{http://hl7.org/fhir}QuestionnaireResponseStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1124", + "locator" : "331:1-331:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1124", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1121", + "s" : [ { + "value" : [ "ReferenceHandlingPolicy" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1123", + "s" : [ { + "r" : "1123", + "s" : [ { + "r" : "1122", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1123", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1123", + "locator" : "331:58-331:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1122", + "locator" : "331:58-331:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1121", + "locator" : "331:32-331:54", + "name" : "{http://hl7.org/fhir}ReferenceHandlingPolicy", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1128", + "locator" : "332:1-332:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1128", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1125", + "s" : [ { + "value" : [ "ReferenceVersionRules" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1127", + "s" : [ { + "r" : "1127", + "s" : [ { + "r" : "1126", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1127", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1127", + "locator" : "332:56-332:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1126", + "locator" : "332:56-332:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1125", + "locator" : "332:32-332:52", + "name" : "{http://hl7.org/fhir}ReferenceVersionRules", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1132", + "locator" : "333:1-333:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1132", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1129", + "s" : [ { + "value" : [ "ReferredDocumentStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1131", + "s" : [ { + "r" : "1131", + "s" : [ { + "r" : "1130", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1131", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1131", + "locator" : "333:57-333:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1130", + "locator" : "333:57-333:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1129", + "locator" : "333:32-333:53", + "name" : "{http://hl7.org/fhir}ReferredDocumentStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1136", + "locator" : "334:1-334:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1136", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1133", + "s" : [ { + "value" : [ "RelatedArtifactType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1135", + "s" : [ { + "r" : "1135", + "s" : [ { + "r" : "1134", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1135", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1135", + "locator" : "334:54-334:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1134", + "locator" : "334:54-334:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1133", + "locator" : "334:32-334:50", + "name" : "{http://hl7.org/fhir}RelatedArtifactType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1140", + "locator" : "335:1-335:62", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1140", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1137", + "s" : [ { + "value" : [ "RemittanceOutcome" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1139", + "s" : [ { + "r" : "1139", + "s" : [ { + "r" : "1138", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1139", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1139", + "locator" : "335:52-335:62", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1138", + "locator" : "335:52-335:56", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1137", + "locator" : "335:32-335:48", + "name" : "{http://hl7.org/fhir}RemittanceOutcome", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1144", + "locator" : "336:1-336:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1144", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1141", + "s" : [ { + "value" : [ "RepositoryType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1143", + "s" : [ { + "r" : "1143", + "s" : [ { + "r" : "1142", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1143", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1143", + "locator" : "336:49-336:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1142", + "locator" : "336:49-336:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1141", + "locator" : "336:32-336:45", + "name" : "{http://hl7.org/fhir}RepositoryType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1148", + "locator" : "337:1-337:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1148", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1145", + "s" : [ { + "value" : [ "RequestIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1147", + "s" : [ { + "r" : "1147", + "s" : [ { + "r" : "1146", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1147", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1147", + "locator" : "337:48-337:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1146", + "locator" : "337:48-337:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1145", + "locator" : "337:32-337:44", + "name" : "{http://hl7.org/fhir}RequestIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1152", + "locator" : "338:1-338:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1152", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1149", + "s" : [ { + "value" : [ "RequestPriority" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1151", + "s" : [ { + "r" : "1151", + "s" : [ { + "r" : "1150", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1151", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1151", + "locator" : "338:50-338:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1150", + "locator" : "338:50-338:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1149", + "locator" : "338:32-338:46", + "name" : "{http://hl7.org/fhir}RequestPriority", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1156", + "locator" : "339:1-339:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1156", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1153", + "s" : [ { + "value" : [ "RequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1155", + "s" : [ { + "r" : "1155", + "s" : [ { + "r" : "1154", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1155", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1155", + "locator" : "339:48-339:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1154", + "locator" : "339:48-339:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1153", + "locator" : "339:32-339:44", + "name" : "{http://hl7.org/fhir}RequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1160", + "locator" : "340:1-340:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1160", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1157", + "s" : [ { + "value" : [ "ResearchElementType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1159", + "s" : [ { + "r" : "1159", + "s" : [ { + "r" : "1158", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1159", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1159", + "locator" : "340:54-340:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1158", + "locator" : "340:54-340:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1157", + "locator" : "340:32-340:50", + "name" : "{http://hl7.org/fhir}ResearchElementType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1164", + "locator" : "341:1-341:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1164", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1161", + "s" : [ { + "value" : [ "ResearchStudyStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1163", + "s" : [ { + "r" : "1163", + "s" : [ { + "r" : "1162", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1163", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1163", + "locator" : "341:54-341:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1162", + "locator" : "341:54-341:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1161", + "locator" : "341:32-341:50", + "name" : "{http://hl7.org/fhir}ResearchStudyStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1168", + "locator" : "342:1-342:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1168", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1165", + "s" : [ { + "value" : [ "ResearchSubjectStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1167", + "s" : [ { + "r" : "1167", + "s" : [ { + "r" : "1166", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1167", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1167", + "locator" : "342:56-342:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1166", + "locator" : "342:56-342:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1165", + "locator" : "342:32-342:52", + "name" : "{http://hl7.org/fhir}ResearchSubjectStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1172", + "locator" : "343:1-343:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1172", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1169", + "s" : [ { + "value" : [ "ResourceType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1171", + "s" : [ { + "r" : "1171", + "s" : [ { + "r" : "1170", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1171", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1171", + "locator" : "343:47-343:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1170", + "locator" : "343:47-343:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1169", + "locator" : "343:32-343:43", + "name" : "{http://hl7.org/fhir}ResourceType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1176", + "locator" : "344:1-344:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1176", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1173", + "s" : [ { + "value" : [ "ResourceVersionPolicy" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1175", + "s" : [ { + "r" : "1175", + "s" : [ { + "r" : "1174", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1175", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1175", + "locator" : "344:56-344:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1174", + "locator" : "344:56-344:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1173", + "locator" : "344:32-344:52", + "name" : "{http://hl7.org/fhir}ResourceVersionPolicy", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1180", + "locator" : "345:1-345:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1180", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1177", + "s" : [ { + "value" : [ "ResponseType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1179", + "s" : [ { + "r" : "1179", + "s" : [ { + "r" : "1178", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1179", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1179", + "locator" : "345:47-345:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1178", + "locator" : "345:47-345:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1177", + "locator" : "345:32-345:43", + "name" : "{http://hl7.org/fhir}ResponseType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1184", + "locator" : "346:1-346:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1184", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1181", + "s" : [ { + "value" : [ "RestfulCapabilityMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1183", + "s" : [ { + "r" : "1183", + "s" : [ { + "r" : "1182", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1183", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1183", + "locator" : "346:56-346:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1182", + "locator" : "346:56-346:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1181", + "locator" : "346:32-346:52", + "name" : "{http://hl7.org/fhir}RestfulCapabilityMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1188", + "locator" : "347:1-347:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1188", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1185", + "s" : [ { + "value" : [ "RiskAssessmentStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1187", + "s" : [ { + "r" : "1187", + "s" : [ { + "r" : "1186", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1187", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1187", + "locator" : "347:55-347:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1186", + "locator" : "347:55-347:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1185", + "locator" : "347:32-347:51", + "name" : "{http://hl7.org/fhir}RiskAssessmentStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1192", + "locator" : "348:1-348:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1192", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1189", + "s" : [ { + "value" : [ "SPDXLicense" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1191", + "s" : [ { + "r" : "1191", + "s" : [ { + "r" : "1190", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1191", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1191", + "locator" : "348:46-348:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1190", + "locator" : "348:46-348:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1189", + "locator" : "348:32-348:42", + "name" : "{http://hl7.org/fhir}SPDXLicense", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1196", + "locator" : "349:1-349:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1196", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1193", + "s" : [ { + "value" : [ "SearchComparator" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1195", + "s" : [ { + "r" : "1195", + "s" : [ { + "r" : "1194", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1195", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1195", + "locator" : "349:51-349:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1194", + "locator" : "349:51-349:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1193", + "locator" : "349:32-349:47", + "name" : "{http://hl7.org/fhir}SearchComparator", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1200", + "locator" : "350:1-350:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1200", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1197", + "s" : [ { + "value" : [ "SearchEntryMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1199", + "s" : [ { + "r" : "1199", + "s" : [ { + "r" : "1198", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1199", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1199", + "locator" : "350:50-350:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1198", + "locator" : "350:50-350:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1197", + "locator" : "350:32-350:46", + "name" : "{http://hl7.org/fhir}SearchEntryMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1204", + "locator" : "351:1-351:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1204", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1201", + "s" : [ { + "value" : [ "SearchModifierCode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1203", + "s" : [ { + "r" : "1203", + "s" : [ { + "r" : "1202", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1203", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1203", + "locator" : "351:53-351:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1202", + "locator" : "351:53-351:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1201", + "locator" : "351:32-351:49", + "name" : "{http://hl7.org/fhir}SearchModifierCode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1208", + "locator" : "352:1-352:60", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1208", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1205", + "s" : [ { + "value" : [ "SearchParamType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1207", + "s" : [ { + "r" : "1207", + "s" : [ { + "r" : "1206", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1207", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1207", + "locator" : "352:50-352:60", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1206", + "locator" : "352:50-352:54", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1205", + "locator" : "352:32-352:46", + "name" : "{http://hl7.org/fhir}SearchParamType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1212", + "locator" : "353:1-353:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1212", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1209", + "s" : [ { + "value" : [ "SectionMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1211", + "s" : [ { + "r" : "1211", + "s" : [ { + "r" : "1210", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1211", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1211", + "locator" : "353:46-353:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1210", + "locator" : "353:46-353:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1209", + "locator" : "353:32-353:42", + "name" : "{http://hl7.org/fhir}SectionMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1216", + "locator" : "354:1-354:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1216", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1213", + "s" : [ { + "value" : [ "SequenceType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1215", + "s" : [ { + "r" : "1215", + "s" : [ { + "r" : "1214", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1215", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1215", + "locator" : "354:47-354:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1214", + "locator" : "354:47-354:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1213", + "locator" : "354:32-354:43", + "name" : "{http://hl7.org/fhir}SequenceType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1220", + "locator" : "355:1-355:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1220", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1217", + "s" : [ { + "value" : [ "ServiceRequestIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1219", + "s" : [ { + "r" : "1219", + "s" : [ { + "r" : "1218", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1219", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1219", + "locator" : "355:55-355:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1218", + "locator" : "355:55-355:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1217", + "locator" : "355:32-355:51", + "name" : "{http://hl7.org/fhir}ServiceRequestIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1224", + "locator" : "356:1-356:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1224", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1221", + "s" : [ { + "value" : [ "ServiceRequestPriority" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1223", + "s" : [ { + "r" : "1223", + "s" : [ { + "r" : "1222", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1223", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1223", + "locator" : "356:57-356:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1222", + "locator" : "356:57-356:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1221", + "locator" : "356:32-356:53", + "name" : "{http://hl7.org/fhir}ServiceRequestPriority", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1228", + "locator" : "357:1-357:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1228", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1225", + "s" : [ { + "value" : [ "ServiceRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1227", + "s" : [ { + "r" : "1227", + "s" : [ { + "r" : "1226", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1227", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1227", + "locator" : "357:55-357:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1226", + "locator" : "357:55-357:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1225", + "locator" : "357:32-357:51", + "name" : "{http://hl7.org/fhir}ServiceRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1232", + "locator" : "358:1-358:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1232", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1229", + "s" : [ { + "value" : [ "SlicingRules" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1231", + "s" : [ { + "r" : "1231", + "s" : [ { + "r" : "1230", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1231", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1231", + "locator" : "358:47-358:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1230", + "locator" : "358:47-358:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1229", + "locator" : "358:32-358:43", + "name" : "{http://hl7.org/fhir}SlicingRules", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1236", + "locator" : "359:1-359:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1236", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1233", + "s" : [ { + "value" : [ "SlotStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1235", + "s" : [ { + "r" : "1235", + "s" : [ { + "r" : "1234", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1235", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1235", + "locator" : "359:45-359:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1234", + "locator" : "359:45-359:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1233", + "locator" : "359:32-359:41", + "name" : "{http://hl7.org/fhir}SlotStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1240", + "locator" : "360:1-360:58", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1240", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1237", + "s" : [ { + "value" : [ "SortDirection" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1239", + "s" : [ { + "r" : "1239", + "s" : [ { + "r" : "1238", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1239", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1239", + "locator" : "360:48-360:58", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1238", + "locator" : "360:48-360:52", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1237", + "locator" : "360:32-360:44", + "name" : "{http://hl7.org/fhir}SortDirection", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1244", + "locator" : "361:1-361:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1244", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1241", + "s" : [ { + "value" : [ "SpecimenContainedPreference" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1243", + "s" : [ { + "r" : "1243", + "s" : [ { + "r" : "1242", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1243", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1243", + "locator" : "361:62-361:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1242", + "locator" : "361:62-361:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1241", + "locator" : "361:32-361:58", + "name" : "{http://hl7.org/fhir}SpecimenContainedPreference", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1248", + "locator" : "362:1-362:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1248", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1245", + "s" : [ { + "value" : [ "SpecimenStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1247", + "s" : [ { + "r" : "1247", + "s" : [ { + "r" : "1246", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1247", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1247", + "locator" : "362:49-362:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1246", + "locator" : "362:49-362:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1245", + "locator" : "362:32-362:45", + "name" : "{http://hl7.org/fhir}SpecimenStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1252", + "locator" : "363:1-363:51", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1252", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1249", + "s" : [ { + "value" : [ "Status" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1251", + "s" : [ { + "r" : "1251", + "s" : [ { + "r" : "1250", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1251", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1251", + "locator" : "363:41-363:51", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1250", + "locator" : "363:41-363:45", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1249", + "locator" : "363:32-363:37", + "name" : "{http://hl7.org/fhir}Status", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1256", + "locator" : "364:1-364:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1256", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1253", + "s" : [ { + "value" : [ "StrandType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1255", + "s" : [ { + "r" : "1255", + "s" : [ { + "r" : "1254", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1255", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1255", + "locator" : "364:45-364:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1254", + "locator" : "364:45-364:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1253", + "locator" : "364:32-364:41", + "name" : "{http://hl7.org/fhir}StrandType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1260", + "locator" : "365:1-365:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1260", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1257", + "s" : [ { + "value" : [ "StructureDefinitionKind" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1259", + "s" : [ { + "r" : "1259", + "s" : [ { + "r" : "1258", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1259", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1259", + "locator" : "365:58-365:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1258", + "locator" : "365:58-365:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1257", + "locator" : "365:32-365:54", + "name" : "{http://hl7.org/fhir}StructureDefinitionKind", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1264", + "locator" : "366:1-366:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1264", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1261", + "s" : [ { + "value" : [ "StructureMapContextType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1263", + "s" : [ { + "r" : "1263", + "s" : [ { + "r" : "1262", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1263", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1263", + "locator" : "366:58-366:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1262", + "locator" : "366:58-366:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1261", + "locator" : "366:32-366:54", + "name" : "{http://hl7.org/fhir}StructureMapContextType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1268", + "locator" : "367:1-367:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1268", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1265", + "s" : [ { + "value" : [ "StructureMapGroupTypeMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1267", + "s" : [ { + "r" : "1267", + "s" : [ { + "r" : "1266", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1267", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1267", + "locator" : "367:60-367:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1266", + "locator" : "367:60-367:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1265", + "locator" : "367:32-367:56", + "name" : "{http://hl7.org/fhir}StructureMapGroupTypeMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1272", + "locator" : "368:1-368:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1272", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1269", + "s" : [ { + "value" : [ "StructureMapInputMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1271", + "s" : [ { + "r" : "1271", + "s" : [ { + "r" : "1270", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1271", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1271", + "locator" : "368:56-368:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1270", + "locator" : "368:56-368:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1269", + "locator" : "368:32-368:52", + "name" : "{http://hl7.org/fhir}StructureMapInputMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1276", + "locator" : "369:1-369:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1276", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1273", + "s" : [ { + "value" : [ "StructureMapModelMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1275", + "s" : [ { + "r" : "1275", + "s" : [ { + "r" : "1274", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1275", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1275", + "locator" : "369:56-369:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1274", + "locator" : "369:56-369:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1273", + "locator" : "369:32-369:52", + "name" : "{http://hl7.org/fhir}StructureMapModelMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1280", + "locator" : "370:1-370:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1280", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1277", + "s" : [ { + "value" : [ "StructureMapSourceListMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1279", + "s" : [ { + "r" : "1279", + "s" : [ { + "r" : "1278", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1279", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1279", + "locator" : "370:61-370:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1278", + "locator" : "370:61-370:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1277", + "locator" : "370:32-370:57", + "name" : "{http://hl7.org/fhir}StructureMapSourceListMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1284", + "locator" : "371:1-371:71", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1284", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1281", + "s" : [ { + "value" : [ "StructureMapTargetListMode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1283", + "s" : [ { + "r" : "1283", + "s" : [ { + "r" : "1282", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1283", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1283", + "locator" : "371:61-371:71", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1282", + "locator" : "371:61-371:65", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1281", + "locator" : "371:32-371:57", + "name" : "{http://hl7.org/fhir}StructureMapTargetListMode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1288", + "locator" : "372:1-372:66", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1288", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1285", + "s" : [ { + "value" : [ "StructureMapTransform" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1287", + "s" : [ { + "r" : "1287", + "s" : [ { + "r" : "1286", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1287", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1287", + "locator" : "372:56-372:66", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1286", + "locator" : "372:56-372:60", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1285", + "locator" : "372:32-372:52", + "name" : "{http://hl7.org/fhir}StructureMapTransform", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1292", + "locator" : "373:1-373:68", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1292", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1289", + "s" : [ { + "value" : [ "SubscriptionChannelType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1291", + "s" : [ { + "r" : "1291", + "s" : [ { + "r" : "1290", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1291", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1291", + "locator" : "373:58-373:68", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1290", + "locator" : "373:58-373:62", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1289", + "locator" : "373:32-373:54", + "name" : "{http://hl7.org/fhir}SubscriptionChannelType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1296", + "locator" : "374:1-374:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1296", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1293", + "s" : [ { + "value" : [ "SubscriptionStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1295", + "s" : [ { + "r" : "1295", + "s" : [ { + "r" : "1294", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1295", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1295", + "locator" : "374:53-374:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1294", + "locator" : "374:53-374:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1293", + "locator" : "374:32-374:49", + "name" : "{http://hl7.org/fhir}SubscriptionStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1300", + "locator" : "375:1-375:65", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1300", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1297", + "s" : [ { + "value" : [ "SupplyDeliveryStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1299", + "s" : [ { + "r" : "1299", + "s" : [ { + "r" : "1298", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1299", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1299", + "locator" : "375:55-375:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1298", + "locator" : "375:55-375:59", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1297", + "locator" : "375:32-375:51", + "name" : "{http://hl7.org/fhir}SupplyDeliveryStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1304", + "locator" : "376:1-376:64", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1304", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1301", + "s" : [ { + "value" : [ "SupplyRequestStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1303", + "s" : [ { + "r" : "1303", + "s" : [ { + "r" : "1302", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1303", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1303", + "locator" : "376:54-376:64", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1302", + "locator" : "376:54-376:58", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1301", + "locator" : "376:32-376:50", + "name" : "{http://hl7.org/fhir}SupplyRequestStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1308", + "locator" : "377:1-377:69", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1308", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1305", + "s" : [ { + "value" : [ "SystemRestfulInteraction" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1307", + "s" : [ { + "r" : "1307", + "s" : [ { + "r" : "1306", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1307", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1307", + "locator" : "377:59-377:69", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1306", + "locator" : "377:59-377:63", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1305", + "locator" : "377:32-377:55", + "name" : "{http://hl7.org/fhir}SystemRestfulInteraction", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1312", + "locator" : "378:1-378:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1312", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1309", + "s" : [ { + "value" : [ "TaskIntent" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1311", + "s" : [ { + "r" : "1311", + "s" : [ { + "r" : "1310", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1311", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1311", + "locator" : "378:45-378:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1310", + "locator" : "378:45-378:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1309", + "locator" : "378:32-378:41", + "name" : "{http://hl7.org/fhir}TaskIntent", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1316", + "locator" : "379:1-379:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1316", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1313", + "s" : [ { + "value" : [ "TaskPriority" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1315", + "s" : [ { + "r" : "1315", + "s" : [ { + "r" : "1314", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1315", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1315", + "locator" : "379:47-379:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1314", + "locator" : "379:47-379:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1313", + "locator" : "379:32-379:43", + "name" : "{http://hl7.org/fhir}TaskPriority", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1320", + "locator" : "380:1-380:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1320", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1317", + "s" : [ { + "value" : [ "TaskStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1319", + "s" : [ { + "r" : "1319", + "s" : [ { + "r" : "1318", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1319", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1319", + "locator" : "380:45-380:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1318", + "locator" : "380:45-380:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1317", + "locator" : "380:32-380:41", + "name" : "{http://hl7.org/fhir}TaskStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1324", + "locator" : "381:1-381:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1324", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1321", + "s" : [ { + "value" : [ "TestReportActionResult" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1323", + "s" : [ { + "r" : "1323", + "s" : [ { + "r" : "1322", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1323", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1323", + "locator" : "381:57-381:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1322", + "locator" : "381:57-381:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1321", + "locator" : "381:32-381:53", + "name" : "{http://hl7.org/fhir}TestReportActionResult", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1328", + "locator" : "382:1-382:70", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1328", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1325", + "s" : [ { + "value" : [ "TestReportParticipantType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1327", + "s" : [ { + "r" : "1327", + "s" : [ { + "r" : "1326", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1327", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1327", + "locator" : "382:60-382:70", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1326", + "locator" : "382:60-382:64", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1325", + "locator" : "382:32-382:56", + "name" : "{http://hl7.org/fhir}TestReportParticipantType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1332", + "locator" : "383:1-383:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1332", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1329", + "s" : [ { + "value" : [ "TestReportResult" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1331", + "s" : [ { + "r" : "1331", + "s" : [ { + "r" : "1330", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1331", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1331", + "locator" : "383:51-383:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1330", + "locator" : "383:51-383:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1329", + "locator" : "383:32-383:47", + "name" : "{http://hl7.org/fhir}TestReportResult", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1336", + "locator" : "384:1-384:61", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1336", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1333", + "s" : [ { + "value" : [ "TestReportStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1335", + "s" : [ { + "r" : "1335", + "s" : [ { + "r" : "1334", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1335", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1335", + "locator" : "384:51-384:61", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1334", + "locator" : "384:51-384:55", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1333", + "locator" : "384:32-384:47", + "name" : "{http://hl7.org/fhir}TestReportStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1340", + "locator" : "385:1-385:72", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1340", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1337", + "s" : [ { + "value" : [ "TestScriptRequestMethodCode" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1339", + "s" : [ { + "r" : "1339", + "s" : [ { + "r" : "1338", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1339", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1339", + "locator" : "385:62-385:72", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1338", + "locator" : "385:62-385:66", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1337", + "locator" : "385:32-385:58", + "name" : "{http://hl7.org/fhir}TestScriptRequestMethodCode", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1344", + "locator" : "386:1-386:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1344", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1341", + "s" : [ { + "value" : [ "TriggerType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1343", + "s" : [ { + "r" : "1343", + "s" : [ { + "r" : "1342", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1343", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1343", + "locator" : "386:46-386:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1342", + "locator" : "386:46-386:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1341", + "locator" : "386:32-386:42", + "name" : "{http://hl7.org/fhir}TriggerType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1348", + "locator" : "387:1-387:63", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1348", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1345", + "s" : [ { + "value" : [ "TypeDerivationRule" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1347", + "s" : [ { + "r" : "1347", + "s" : [ { + "r" : "1346", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1347", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1347", + "locator" : "387:53-387:63", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1346", + "locator" : "387:53-387:57", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1345", + "locator" : "387:32-387:49", + "name" : "{http://hl7.org/fhir}TypeDerivationRule", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1352", + "locator" : "388:1-388:67", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1352", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1349", + "s" : [ { + "value" : [ "TypeRestfulInteraction" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1351", + "s" : [ { + "r" : "1351", + "s" : [ { + "r" : "1350", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1351", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1351", + "locator" : "388:57-388:67", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1350", + "locator" : "388:57-388:61", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1349", + "locator" : "388:32-388:53", + "name" : "{http://hl7.org/fhir}TypeRestfulInteraction", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1356", + "locator" : "389:1-389:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1356", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1353", + "s" : [ { + "value" : [ "UDIEntryType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1355", + "s" : [ { + "r" : "1355", + "s" : [ { + "r" : "1354", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1355", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1355", + "locator" : "389:47-389:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1354", + "locator" : "389:47-389:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1353", + "locator" : "389:32-389:43", + "name" : "{http://hl7.org/fhir}UDIEntryType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1360", + "locator" : "390:1-390:56", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1360", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1357", + "s" : [ { + "value" : [ "UnitsOfTime" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1359", + "s" : [ { + "r" : "1359", + "s" : [ { + "r" : "1358", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1359", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1359", + "locator" : "390:46-390:56", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1358", + "locator" : "390:46-390:50", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1357", + "locator" : "390:32-390:42", + "name" : "{http://hl7.org/fhir}UnitsOfTime", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1364", + "locator" : "391:1-391:48", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1364", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1361", + "s" : [ { + "value" : [ "Use" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1363", + "s" : [ { + "r" : "1363", + "s" : [ { + "r" : "1362", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1363", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1363", + "locator" : "391:38-391:48", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1362", + "locator" : "391:38-391:42", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1361", + "locator" : "391:32-391:34", + "name" : "{http://hl7.org/fhir}Use", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1368", + "locator" : "392:1-392:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1368", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1365", + "s" : [ { + "value" : [ "VariableType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1367", + "s" : [ { + "r" : "1367", + "s" : [ { + "r" : "1366", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1367", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1367", + "locator" : "392:47-392:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1366", + "locator" : "392:47-392:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1365", + "locator" : "392:32-392:43", + "name" : "{http://hl7.org/fhir}VariableType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1372", + "locator" : "393:1-393:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1372", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1369", + "s" : [ { + "value" : [ "VisionBase" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1371", + "s" : [ { + "r" : "1371", + "s" : [ { + "r" : "1370", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1371", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1371", + "locator" : "393:45-393:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1370", + "locator" : "393:45-393:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1369", + "locator" : "393:32-393:41", + "name" : "{http://hl7.org/fhir}VisionBase", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1376", + "locator" : "394:1-394:55", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1376", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1373", + "s" : [ { + "value" : [ "VisionEyes" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1375", + "s" : [ { + "r" : "1375", + "s" : [ { + "r" : "1374", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1375", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1375", + "locator" : "394:45-394:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1374", + "locator" : "394:45-394:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1373", + "locator" : "394:32-394:41", + "name" : "{http://hl7.org/fhir}VisionEyes", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1380", + "locator" : "395:1-395:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1380", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1377", + "s" : [ { + "value" : [ "VisionStatus" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1379", + "s" : [ { + "r" : "1379", + "s" : [ { + "r" : "1378", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1379", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1379", + "locator" : "395:47-395:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1378", + "locator" : "395:47-395:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1377", + "locator" : "395:32-395:43", + "name" : "{http://hl7.org/fhir}VisionStatus", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1384", + "locator" : "396:1-396:59", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1384", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1381", + "s" : [ { + "value" : [ "XPathUsageType" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1383", + "s" : [ { + "r" : "1383", + "s" : [ { + "r" : "1382", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1383", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1383", + "locator" : "396:49-396:59", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1382", + "locator" : "396:49-396:53", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1381", + "locator" : "396:32-396:45", + "name" : "{http://hl7.org/fhir}XPathUsageType", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1388", + "locator" : "397:1-397:57", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1388", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1385", + "s" : [ { + "value" : [ "base64Binary" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1387", + "s" : [ { + "r" : "1387", + "s" : [ { + "r" : "1386", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1387", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1387", + "locator" : "397:47-397:57", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1386", + "locator" : "397:47-397:51", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1385", + "locator" : "397:32-397:43", + "name" : "{http://hl7.org/fhir}base64Binary", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1392", + "locator" : "398:1-398:53", + "name" : "ToBoolean", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1392", + "s" : [ { + "value" : [ "","define function ","ToBoolean","(","value"," " ] + }, { + "r" : "1389", + "s" : [ { + "value" : [ "boolean" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1391", + "s" : [ { + "r" : "1391", + "s" : [ { + "r" : "1390", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1391", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1391", + "locator" : "398:43-398:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1390", + "locator" : "398:43-398:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1389", + "locator" : "398:33-398:39", + "name" : "{http://hl7.org/fhir}boolean", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1396", + "locator" : "399:1-399:47", + "name" : "ToDate", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1396", + "s" : [ { + "value" : [ "","define function ","ToDate","(","value"," " ] + }, { + "r" : "1393", + "s" : [ { + "value" : [ "date" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1395", + "s" : [ { + "r" : "1395", + "s" : [ { + "r" : "1394", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1395", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1395", + "locator" : "399:37-399:47", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1394", + "locator" : "399:37-399:41", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1393", + "locator" : "399:30-399:33", + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1400", + "locator" : "400:1-400:55", + "name" : "ToDateTime", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1400", + "s" : [ { + "value" : [ "","define function ","ToDateTime","(","value"," " ] + }, { + "r" : "1397", + "s" : [ { + "value" : [ "dateTime" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1399", + "s" : [ { + "r" : "1399", + "s" : [ { + "r" : "1398", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1399", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1399", + "locator" : "400:45-400:55", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1398", + "locator" : "400:45-400:49", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1397", + "locator" : "400:34-400:41", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1404", + "locator" : "401:1-401:53", + "name" : "ToDecimal", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1404", + "s" : [ { + "value" : [ "","define function ","ToDecimal","(","value"," " ] + }, { + "r" : "1401", + "s" : [ { + "value" : [ "decimal" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1403", + "s" : [ { + "r" : "1403", + "s" : [ { + "r" : "1402", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1403", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1403", + "locator" : "401:43-401:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1402", + "locator" : "401:43-401:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1401", + "locator" : "401:33-401:39", + "name" : "{http://hl7.org/fhir}decimal", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1408", + "locator" : "402:1-402:54", + "name" : "ToDateTime", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1408", + "s" : [ { + "value" : [ "","define function ","ToDateTime","(","value"," " ] + }, { + "r" : "1405", + "s" : [ { + "value" : [ "instant" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1407", + "s" : [ { + "r" : "1407", + "s" : [ { + "r" : "1406", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1407", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1407", + "locator" : "402:44-402:54", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1406", + "locator" : "402:44-402:48", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1405", + "locator" : "402:34-402:40", + "name" : "{http://hl7.org/fhir}instant", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1412", + "locator" : "403:1-403:53", + "name" : "ToInteger", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1412", + "s" : [ { + "value" : [ "","define function ","ToInteger","(","value"," " ] + }, { + "r" : "1409", + "s" : [ { + "value" : [ "integer" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1411", + "s" : [ { + "r" : "1411", + "s" : [ { + "r" : "1410", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1411", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1411", + "locator" : "403:43-403:53", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1410", + "locator" : "403:43-403:47", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1409", + "locator" : "403:33-403:39", + "name" : "{http://hl7.org/fhir}integer", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1416", + "locator" : "404:1-404:51", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1416", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1413", + "s" : [ { + "value" : [ "string" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1415", + "s" : [ { + "r" : "1415", + "s" : [ { + "r" : "1414", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1415", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1415", + "locator" : "404:41-404:51", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1414", + "locator" : "404:41-404:45", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1413", + "locator" : "404:32-404:37", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1420", + "locator" : "405:1-405:47", + "name" : "ToTime", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1420", + "s" : [ { + "value" : [ "","define function ","ToTime","(","value"," " ] + }, { + "r" : "1417", + "s" : [ { + "value" : [ "time" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1419", + "s" : [ { + "r" : "1419", + "s" : [ { + "r" : "1418", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1419", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1419", + "locator" : "405:37-405:47", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1418", + "locator" : "405:37-405:41", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1417", + "locator" : "405:30-405:33", + "name" : "{http://hl7.org/fhir}time", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1424", + "locator" : "406:1-406:48", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1424", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1421", + "s" : [ { + "value" : [ "uri" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1423", + "s" : [ { + "r" : "1423", + "s" : [ { + "r" : "1422", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1423", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1423", + "locator" : "406:38-406:48", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1422", + "locator" : "406:38-406:42", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1421", + "locator" : "406:32-406:34", + "name" : "{http://hl7.org/fhir}uri", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "1428", + "locator" : "407:1-407:50", + "name" : "ToString", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1428", + "s" : [ { + "value" : [ "","define function ","ToString","(","value"," " ] + }, { + "r" : "1425", + "s" : [ { + "value" : [ "xhtml" ] + } ] + }, { + "value" : [ "): " ] + }, { + "r" : "1427", + "s" : [ { + "r" : "1427", + "s" : [ { + "r" : "1426", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "1427", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "1427", + "locator" : "407:40-407:50", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "1426", + "locator" : "407:40-407:44", + "name" : "value", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "value", + "operandTypeSpecifier" : { + "localId" : "1425", + "locator" : "407:32-407:36", + "name" : "{http://hl7.org/fhir}xhtml", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers.json new file mode 100644 index 0000000000..f675dace1e --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-FHIRHelpers.json @@ -0,0 +1,50 @@ +{ + "resourceType" : "Library", + "id" : "FHIRHelpers", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1

Contents

text/cql

/*\r\n@author: Bryn Rhodes\r\n@description: This library defines functions to convert between FHIR\r\n data types and CQL system-defined types, as well as functions to support\r\n FHIRPath implementation. For more information, see the FHIRHelpers wiki page:\r\n https://github.com/cqframework/clinical_quality_language/wiki/FHIRHelpers\r\n@allowFluent: true\r\n*/\r\nlibrary FHIRHelpers version '4.0.1'\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ndefine function ToInterval(period FHIR.Period):\r\n    if period is null then\r\n        null\r\n    else\r\n        if period."start" is null then\r\n            Interval(period."start".value, period."end".value]\r\n        else\r\n            Interval[period."start".value, period."end".value]\r\n\r\ndefine function ToCalendarUnit(unit System.String):\r\n    case unit\r\n        when 'ms' then 'millisecond'\r\n        when 's' then 'second'\r\n        when 'min' then 'minute'\r\n        when 'h' then 'hour'\r\n        when 'd' then 'day'\r\n        when 'wk' then 'week'\r\n        when 'mo' then 'month'\r\n        when 'a' then 'year'\r\n        else unit\r\n    end\r\n\r\ndefine function ToQuantity(quantity FHIR.Quantity):\r\n    case\r\n        when quantity is null then null\r\n        when quantity.value is null then null\r\n        when quantity.comparator is not null then\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\r\n        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\r\n              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\r\n            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\r\n        else\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\r\n    end\r\n\r\ndefine function ToQuantityIgnoringComparator(quantity FHIR.Quantity):\r\n    case\r\n        when quantity is null then null\r\n        when quantity.value is null then null\r\n        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\r\n              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\r\n            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\r\n        else\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\r\n    end\r\n\r\ndefine function ToInterval(quantity FHIR.Quantity):\r\n    if quantity is null then null else\r\n        case quantity.comparator.value\r\n            when '<' then\r\n                Interval[\r\n                    null,\r\n                    ToQuantityIgnoringComparator(quantity)\r\n                )\r\n            when '<=' then\r\n                Interval[\r\n                    null,\r\n                    ToQuantityIgnoringComparator(quantity)\r\n                ]\r\n            when '>=' then\r\n                Interval[\r\n                    ToQuantityIgnoringComparator(quantity),\r\n                    null\r\n                ]\r\n            when '>' then\r\n                Interval(\r\n                    ToQuantityIgnoringComparator(quantity),\r\n                    null\r\n                ]\r\n            else\r\n                Interval[ToQuantity(quantity), ToQuantity(quantity)]\r\n        end\r\n\r\ndefine function ToRatio(ratio FHIR.Ratio):\r\n    if ratio is null then\r\n        null\r\n    else\r\n        System.Ratio { numerator: ToQuantity(ratio.numerator), denominator: ToQuantity(ratio.denominator) }\r\n\r\ndefine function ToInterval(range FHIR.Range):\r\n    if range is null then\r\n        null\r\n    else\r\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\r\n\r\ndefine function ToCode(coding FHIR.Coding):\r\n    if coding is null then\r\n        null\r\n    else\r\n        System.Code {\r\n          code: coding.code.value,\r\n          system: coding.system.value,\r\n          version: coding.version.value,\r\n          display: coding.display.value\r\n        }\r\n\r\ndefine function ToConcept(concept FHIR.CodeableConcept):\r\n    if concept is null then\r\n        null\r\n    else\r\n        System.Concept {\r\n            codes: concept.coding C return ToCode(C),\r\n            display: concept.text.value\r\n        }\r\n\r\ndefine function reference(reference String):\r\n    if reference is null then\r\n        null\r\n    else\r\n        Reference { reference: string { value: reference } }\r\n\r\ndefine function resolve(reference String) returns Resource: external\r\ndefine function resolve(reference Reference) returns Resource: external\r\ndefine function reference(resource Resource) returns Reference: external\r\ndefine function extension(element Element, url String) returns List<Element>: external\r\ndefine function extension(resource Resource, url String) returns List<Element>: external\r\ndefine function hasValue(element Element) returns Boolean: external\r\ndefine function getValue(element Element) returns Any: external\r\ndefine function ofType(identifier String) returns List<Any>: external\r\ndefine function is(identifier String) returns Boolean: external\r\ndefine function as(identifier String) returns Any: external\r\ndefine function elementDefinition(element Element) returns ElementDefinition: external\r\ndefine function slice(element Element, url String, name String) returns List<Element>: external\r\ndefine function checkModifiers(resource Resource) returns Resource: external\r\ndefine function checkModifiers(resource Resource, modifier String) returns Resource: external\r\ndefine function checkModifiers(element Element) returns Element: external\r\ndefine function checkModifiers(element Element, modifier String) returns Element: external\r\ndefine function conformsTo(resource Resource, structure String) returns Boolean: external\r\ndefine function memberOf(code code, valueSet String) returns Boolean: external\r\ndefine function memberOf(coding Coding, valueSet String) returns Boolean: external\r\ndefine function memberOf(concept CodeableConcept, valueSet String) returns Boolean: external\r\ndefine function subsumes(coding Coding, subsumedCoding Coding) returns Boolean: external\r\ndefine function subsumes(concept CodeableConcept, subsumedConcept CodeableConcept) returns Boolean: external\r\ndefine function subsumedBy(coding Coding, subsumingCoding Coding) returns Boolean: external\r\ndefine function subsumedBy(concept CodeableConcept, subsumingConcept CodeableConcept) returns Boolean: external\r\ndefine function htmlChecks(element Element) returns Boolean: external\r\n\r\ndefine function ToString(value AccountStatus): value.value\r\ndefine function ToString(value ActionCardinalityBehavior): value.value\r\ndefine function ToString(value ActionConditionKind): value.value\r\ndefine function ToString(value ActionGroupingBehavior): value.value\r\ndefine function ToString(value ActionParticipantType): value.value\r\ndefine function ToString(value ActionPrecheckBehavior): value.value\r\ndefine function ToString(value ActionRelationshipType): value.value\r\ndefine function ToString(value ActionRequiredBehavior): value.value\r\ndefine function ToString(value ActionSelectionBehavior): value.value\r\ndefine function ToString(value ActivityDefinitionKind): value.value\r\ndefine function ToString(value ActivityParticipantType): value.value\r\ndefine function ToString(value AddressType): value.value\r\ndefine function ToString(value AddressUse): value.value\r\ndefine function ToString(value AdministrativeGender): value.value\r\ndefine function ToString(value AdverseEventActuality): value.value\r\ndefine function ToString(value AggregationMode): value.value\r\ndefine function ToString(value AllergyIntoleranceCategory): value.value\r\ndefine function ToString(value AllergyIntoleranceCriticality): value.value\r\ndefine function ToString(value AllergyIntoleranceSeverity): value.value\r\ndefine function ToString(value AllergyIntoleranceType): value.value\r\ndefine function ToString(value AppointmentStatus): value.value\r\ndefine function ToString(value AssertionDirectionType): value.value\r\ndefine function ToString(value AssertionOperatorType): value.value\r\ndefine function ToString(value AssertionResponseTypes): value.value\r\ndefine function ToString(value AuditEventAction): value.value\r\ndefine function ToString(value AuditEventAgentNetworkType): value.value\r\ndefine function ToString(value AuditEventOutcome): value.value\r\ndefine function ToString(value BindingStrength): value.value\r\ndefine function ToString(value BiologicallyDerivedProductCategory): value.value\r\ndefine function ToString(value BiologicallyDerivedProductStatus): value.value\r\ndefine function ToString(value BiologicallyDerivedProductStorageScale): value.value\r\ndefine function ToString(value BundleType): value.value\r\ndefine function ToString(value CapabilityStatementKind): value.value\r\ndefine function ToString(value CarePlanActivityKind): value.value\r\ndefine function ToString(value CarePlanActivityStatus): value.value\r\ndefine function ToString(value CarePlanIntent): value.value\r\ndefine function ToString(value CarePlanStatus): value.value\r\ndefine function ToString(value CareTeamStatus): value.value\r\ndefine function ToString(value CatalogEntryRelationType): value.value\r\ndefine function ToString(value ChargeItemDefinitionPriceComponentType): value.value\r\ndefine function ToString(value ChargeItemStatus): value.value\r\ndefine function ToString(value ClaimResponseStatus): value.value\r\ndefine function ToString(value ClaimStatus): value.value\r\ndefine function ToString(value ClinicalImpressionStatus): value.value\r\ndefine function ToString(value CodeSearchSupport): value.value\r\ndefine function ToString(value CodeSystemContentMode): value.value\r\ndefine function ToString(value CodeSystemHierarchyMeaning): value.value\r\ndefine function ToString(value CommunicationPriority): value.value\r\ndefine function ToString(value CommunicationRequestStatus): value.value\r\ndefine function ToString(value CommunicationStatus): value.value\r\ndefine function ToString(value CompartmentCode): value.value\r\ndefine function ToString(value CompartmentType): value.value\r\ndefine function ToString(value CompositionAttestationMode): value.value\r\ndefine function ToString(value CompositionStatus): value.value\r\ndefine function ToString(value ConceptMapEquivalence): value.value\r\ndefine function ToString(value ConceptMapGroupUnmappedMode): value.value\r\ndefine function ToString(value ConditionalDeleteStatus): value.value\r\ndefine function ToString(value ConditionalReadStatus): value.value\r\ndefine function ToString(value ConsentDataMeaning): value.value\r\ndefine function ToString(value ConsentProvisionType): value.value\r\ndefine function ToString(value ConsentState): value.value\r\ndefine function ToString(value ConstraintSeverity): value.value\r\ndefine function ToString(value ContactPointSystem): value.value\r\ndefine function ToString(value ContactPointUse): value.value\r\ndefine function ToString(value ContractPublicationStatus): value.value\r\ndefine function ToString(value ContractStatus): value.value\r\ndefine function ToString(value ContributorType): value.value\r\ndefine function ToString(value CoverageStatus): value.value\r\ndefine function ToString(value CurrencyCode): value.value\r\ndefine function ToString(value DayOfWeek): value.value\r\ndefine function ToString(value DaysOfWeek): value.value\r\ndefine function ToString(value DetectedIssueSeverity): value.value\r\ndefine function ToString(value DetectedIssueStatus): value.value\r\ndefine function ToString(value DeviceMetricCalibrationState): value.value\r\ndefine function ToString(value DeviceMetricCalibrationType): value.value\r\ndefine function ToString(value DeviceMetricCategory): value.value\r\ndefine function ToString(value DeviceMetricColor): value.value\r\ndefine function ToString(value DeviceMetricOperationalStatus): value.value\r\ndefine function ToString(value DeviceNameType): value.value\r\ndefine function ToString(value DeviceRequestStatus): value.value\r\ndefine function ToString(value DeviceUseStatementStatus): value.value\r\ndefine function ToString(value DiagnosticReportStatus): value.value\r\ndefine function ToString(value DiscriminatorType): value.value\r\ndefine function ToString(value DocumentConfidentiality): value.value\r\ndefine function ToString(value DocumentMode): value.value\r\ndefine function ToString(value DocumentReferenceStatus): value.value\r\ndefine function ToString(value DocumentRelationshipType): value.value\r\ndefine function ToString(value EligibilityRequestPurpose): value.value\r\ndefine function ToString(value EligibilityRequestStatus): value.value\r\ndefine function ToString(value EligibilityResponsePurpose): value.value\r\ndefine function ToString(value EligibilityResponseStatus): value.value\r\ndefine function ToString(value EnableWhenBehavior): value.value\r\ndefine function ToString(value EncounterLocationStatus): value.value\r\ndefine function ToString(value EncounterStatus): value.value\r\ndefine function ToString(value EndpointStatus): value.value\r\ndefine function ToString(value EnrollmentRequestStatus): value.value\r\ndefine function ToString(value EnrollmentResponseStatus): value.value\r\ndefine function ToString(value EpisodeOfCareStatus): value.value\r\ndefine function ToString(value EventCapabilityMode): value.value\r\ndefine function ToString(value EventTiming): value.value\r\ndefine function ToString(value EvidenceVariableType): value.value\r\ndefine function ToString(value ExampleScenarioActorType): value.value\r\ndefine function ToString(value ExplanationOfBenefitStatus): value.value\r\ndefine function ToString(value ExposureState): value.value\r\ndefine function ToString(value ExtensionContextType): value.value\r\ndefine function ToString(value FHIRAllTypes): value.value\r\ndefine function ToString(value FHIRDefinedType): value.value\r\ndefine function ToString(value FHIRDeviceStatus): value.value\r\ndefine function ToString(value FHIRResourceType): value.value\r\ndefine function ToString(value FHIRSubstanceStatus): value.value\r\ndefine function ToString(value FHIRVersion): value.value\r\ndefine function ToString(value FamilyHistoryStatus): value.value\r\ndefine function ToString(value FilterOperator): value.value\r\ndefine function ToString(value FlagStatus): value.value\r\ndefine function ToString(value GoalLifecycleStatus): value.value\r\ndefine function ToString(value GraphCompartmentRule): value.value\r\ndefine function ToString(value GraphCompartmentUse): value.value\r\ndefine function ToString(value GroupMeasure): value.value\r\ndefine function ToString(value GroupType): value.value\r\ndefine function ToString(value GuidanceResponseStatus): value.value\r\ndefine function ToString(value GuidePageGeneration): value.value\r\ndefine function ToString(value GuideParameterCode): value.value\r\ndefine function ToString(value HTTPVerb): value.value\r\ndefine function ToString(value IdentifierUse): value.value\r\ndefine function ToString(value IdentityAssuranceLevel): value.value\r\ndefine function ToString(value ImagingStudyStatus): value.value\r\ndefine function ToString(value ImmunizationEvaluationStatus): value.value\r\ndefine function ToString(value ImmunizationStatus): value.value\r\ndefine function ToString(value InvoicePriceComponentType): value.value\r\ndefine function ToString(value InvoiceStatus): value.value\r\ndefine function ToString(value IssueSeverity): value.value\r\ndefine function ToString(value IssueType): value.value\r\ndefine function ToString(value LinkType): value.value\r\ndefine function ToString(value LinkageType): value.value\r\ndefine function ToString(value ListMode): value.value\r\ndefine function ToString(value ListStatus): value.value\r\ndefine function ToString(value LocationMode): value.value\r\ndefine function ToString(value LocationStatus): value.value\r\ndefine function ToString(value MeasureReportStatus): value.value\r\ndefine function ToString(value MeasureReportType): value.value\r\ndefine function ToString(value MediaStatus): value.value\r\ndefine function ToString(value MedicationAdministrationStatus): value.value\r\ndefine function ToString(value MedicationDispenseStatus): value.value\r\ndefine function ToString(value MedicationKnowledgeStatus): value.value\r\ndefine function ToString(value MedicationRequestIntent): value.value\r\ndefine function ToString(value MedicationRequestPriority): value.value\r\ndefine function ToString(value MedicationRequestStatus): value.value\r\ndefine function ToString(value MedicationStatementStatus): value.value\r\ndefine function ToString(value MedicationStatus): value.value\r\ndefine function ToString(value MessageSignificanceCategory): value.value\r\ndefine function ToString(value Messageheader_Response_Request): value.value\r\ndefine function ToString(value MimeType): value.value\r\ndefine function ToString(value NameUse): value.value\r\ndefine function ToString(value NamingSystemIdentifierType): value.value\r\ndefine function ToString(value NamingSystemType): value.value\r\ndefine function ToString(value NarrativeStatus): value.value\r\ndefine function ToString(value NoteType): value.value\r\ndefine function ToString(value NutritiionOrderIntent): value.value\r\ndefine function ToString(value NutritionOrderStatus): value.value\r\ndefine function ToString(value ObservationDataType): value.value\r\ndefine function ToString(value ObservationRangeCategory): value.value\r\ndefine function ToString(value ObservationStatus): value.value\r\ndefine function ToString(value OperationKind): value.value\r\ndefine function ToString(value OperationParameterUse): value.value\r\ndefine function ToString(value OrientationType): value.value\r\ndefine function ToString(value ParameterUse): value.value\r\ndefine function ToString(value ParticipantRequired): value.value\r\ndefine function ToString(value ParticipantStatus): value.value\r\ndefine function ToString(value ParticipationStatus): value.value\r\ndefine function ToString(value PaymentNoticeStatus): value.value\r\ndefine function ToString(value PaymentReconciliationStatus): value.value\r\ndefine function ToString(value ProcedureStatus): value.value\r\ndefine function ToString(value PropertyRepresentation): value.value\r\ndefine function ToString(value PropertyType): value.value\r\ndefine function ToString(value ProvenanceEntityRole): value.value\r\ndefine function ToString(value PublicationStatus): value.value\r\ndefine function ToString(value QualityType): value.value\r\ndefine function ToString(value QuantityComparator): value.value\r\ndefine function ToString(value QuestionnaireItemOperator): value.value\r\ndefine function ToString(value QuestionnaireItemType): value.value\r\ndefine function ToString(value QuestionnaireResponseStatus): value.value\r\ndefine function ToString(value ReferenceHandlingPolicy): value.value\r\ndefine function ToString(value ReferenceVersionRules): value.value\r\ndefine function ToString(value ReferredDocumentStatus): value.value\r\ndefine function ToString(value RelatedArtifactType): value.value\r\ndefine function ToString(value RemittanceOutcome): value.value\r\ndefine function ToString(value RepositoryType): value.value\r\ndefine function ToString(value RequestIntent): value.value\r\ndefine function ToString(value RequestPriority): value.value\r\ndefine function ToString(value RequestStatus): value.value\r\ndefine function ToString(value ResearchElementType): value.value\r\ndefine function ToString(value ResearchStudyStatus): value.value\r\ndefine function ToString(value ResearchSubjectStatus): value.value\r\ndefine function ToString(value ResourceType): value.value\r\ndefine function ToString(value ResourceVersionPolicy): value.value\r\ndefine function ToString(value ResponseType): value.value\r\ndefine function ToString(value RestfulCapabilityMode): value.value\r\ndefine function ToString(value RiskAssessmentStatus): value.value\r\ndefine function ToString(value SPDXLicense): value.value\r\ndefine function ToString(value SearchComparator): value.value\r\ndefine function ToString(value SearchEntryMode): value.value\r\ndefine function ToString(value SearchModifierCode): value.value\r\ndefine function ToString(value SearchParamType): value.value\r\ndefine function ToString(value SectionMode): value.value\r\ndefine function ToString(value SequenceType): value.value\r\ndefine function ToString(value ServiceRequestIntent): value.value\r\ndefine function ToString(value ServiceRequestPriority): value.value\r\ndefine function ToString(value ServiceRequestStatus): value.value\r\ndefine function ToString(value SlicingRules): value.value\r\ndefine function ToString(value SlotStatus): value.value\r\ndefine function ToString(value SortDirection): value.value\r\ndefine function ToString(value SpecimenContainedPreference): value.value\r\ndefine function ToString(value SpecimenStatus): value.value\r\ndefine function ToString(value Status): value.value\r\ndefine function ToString(value StrandType): value.value\r\ndefine function ToString(value StructureDefinitionKind): value.value\r\ndefine function ToString(value StructureMapContextType): value.value\r\ndefine function ToString(value StructureMapGroupTypeMode): value.value\r\ndefine function ToString(value StructureMapInputMode): value.value\r\ndefine function ToString(value StructureMapModelMode): value.value\r\ndefine function ToString(value StructureMapSourceListMode): value.value\r\ndefine function ToString(value StructureMapTargetListMode): value.value\r\ndefine function ToString(value StructureMapTransform): value.value\r\ndefine function ToString(value SubscriptionChannelType): value.value\r\ndefine function ToString(value SubscriptionStatus): value.value\r\ndefine function ToString(value SupplyDeliveryStatus): value.value\r\ndefine function ToString(value SupplyRequestStatus): value.value\r\ndefine function ToString(value SystemRestfulInteraction): value.value\r\ndefine function ToString(value TaskIntent): value.value\r\ndefine function ToString(value TaskPriority): value.value\r\ndefine function ToString(value TaskStatus): value.value\r\ndefine function ToString(value TestReportActionResult): value.value\r\ndefine function ToString(value TestReportParticipantType): value.value\r\ndefine function ToString(value TestReportResult): value.value\r\ndefine function ToString(value TestReportStatus): value.value\r\ndefine function ToString(value TestScriptRequestMethodCode): value.value\r\ndefine function ToString(value TriggerType): value.value\r\ndefine function ToString(value TypeDerivationRule): value.value\r\ndefine function ToString(value TypeRestfulInteraction): value.value\r\ndefine function ToString(value UDIEntryType): value.value\r\ndefine function ToString(value UnitsOfTime): value.value\r\ndefine function ToString(value Use): value.value\r\ndefine function ToString(value VariableType): value.value\r\ndefine function ToString(value VisionBase): value.value\r\ndefine function ToString(value VisionEyes): value.value\r\ndefine function ToString(value VisionStatus): value.value\r\ndefine function ToString(value XPathUsageType): value.value\r\ndefine function ToString(value base64Binary): value.value\r\ndefine function ToBoolean(value boolean): value.value\r\ndefine function ToDate(value date): value.value\r\ndefine function ToDateTime(value dateTime): value.value\r\ndefine function ToDecimal(value decimal): value.value\r\ndefine function ToDateTime(value instant): value.value\r\ndefine function ToInteger(value integer): value.value\r\ndefine function ToString(value string): value.value\r\ndefine function ToTime(value time): value.value\r\ndefine function ToString(value uri): value.value\r\ndefine function ToString(value xhtml): value.value\r\n

Content not shown - (application/elm+xml, size = 421Kb)

Content not shown - (application/elm+json, size = 763Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRHelpers", + "version" : "0.1.0", + "name" : "FHIRHelpers", + "title" : "FHIRHelpers", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines functions to convert between FHIR data types and CQL system-defined types, as well as functions to support FHIRPath implementation. For more information, the FHIRHelpers wiki page: https://github.com/cqframework/clinical_quality_language/wiki/FHIRHelpers", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoNCkBhdXRob3I6IEJyeW4gUmhvZGVzDQpAZGVzY3JpcHRpb246IFRoaXMgbGlicmFyeSBkZWZpbmVzIGZ1bmN0aW9ucyB0byBjb252ZXJ0IGJldHdlZW4gRkhJUg0KIGRhdGEgdHlwZXMgYW5kIENRTCBzeXN0ZW0tZGVmaW5lZCB0eXBlcywgYXMgd2VsbCBhcyBmdW5jdGlvbnMgdG8gc3VwcG9ydA0KIEZISVJQYXRoIGltcGxlbWVudGF0aW9uLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBGSElSSGVscGVycyB3aWtpIHBhZ2U6DQogaHR0cHM6Ly9naXRodWIuY29tL2NxZnJhbWV3b3JrL2NsaW5pY2FsX3F1YWxpdHlfbGFuZ3VhZ2Uvd2lraS9GSElSSGVscGVycw0KQGFsbG93Rmx1ZW50OiB0cnVlDQoqLw0KbGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZXJ2YWwocGVyaW9kIEZISVIuUGVyaW9kKToNCiAgICBpZiBwZXJpb2QgaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIGlmIHBlcmlvZC4ic3RhcnQiIGlzIG51bGwgdGhlbg0KICAgICAgICAgICAgSW50ZXJ2YWwocGVyaW9kLiJzdGFydCIudmFsdWUsIHBlcmlvZC4iZW5kIi52YWx1ZV0NCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgSW50ZXJ2YWxbcGVyaW9kLiJzdGFydCIudmFsdWUsIHBlcmlvZC4iZW5kIi52YWx1ZV0NCg0KZGVmaW5lIGZ1bmN0aW9uIFRvQ2FsZW5kYXJVbml0KHVuaXQgU3lzdGVtLlN0cmluZyk6DQogICAgY2FzZSB1bml0DQogICAgICAgIHdoZW4gJ21zJyB0aGVuICdtaWxsaXNlY29uZCcNCiAgICAgICAgd2hlbiAncycgdGhlbiAnc2Vjb25kJw0KICAgICAgICB3aGVuICdtaW4nIHRoZW4gJ21pbnV0ZScNCiAgICAgICAgd2hlbiAnaCcgdGhlbiAnaG91cicNCiAgICAgICAgd2hlbiAnZCcgdGhlbiAnZGF5Jw0KICAgICAgICB3aGVuICd3aycgdGhlbiAnd2VlaycNCiAgICAgICAgd2hlbiAnbW8nIHRoZW4gJ21vbnRoJw0KICAgICAgICB3aGVuICdhJyB0aGVuICd5ZWFyJw0KICAgICAgICBlbHNlIHVuaXQNCiAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6DQogICAgY2FzZQ0KICAgICAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsDQogICAgICAgIHdoZW4gcXVhbnRpdHkudmFsdWUgaXMgbnVsbCB0aGVuIG51bGwNCiAgICAgICAgd2hlbiBxdWFudGl0eS5jb21wYXJhdG9yIGlzIG5vdCBudWxsIHRoZW4NCiAgICAgICAgICAgIE1lc3NhZ2UobnVsbCwgdHJ1ZSwgJ0ZISVJIZWxwZXJzLlRvUXVhbnRpdHkuQ29tcGFyYXRvclF1YW50aXR5Tm90U3VwcG9ydGVkJywgJ0Vycm9yJywgJ0ZISVIgUXVhbnRpdHkgdmFsdWUgaGFzIGEgY29tcGFyYXRvciBhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFN5c3RlbS5RdWFudGl0eSB2YWx1ZS4nKQ0KICAgICAgICB3aGVuIHF1YW50aXR5LnN5c3RlbSBpcyBudWxsIG9yIHF1YW50aXR5LnN5c3RlbS52YWx1ZSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJw0KICAgICAgICAgICAgICBvciBxdWFudGl0eS5zeXN0ZW0udmFsdWUgPSAnaHR0cDovL2hsNy5vcmcvZmhpcnBhdGgvQ29kZVN5c3RlbS9jYWxlbmRhci11bml0cycgdGhlbg0KICAgICAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBUb0NhbGVuZGFyVW5pdChDb2FsZXNjZShxdWFudGl0eS5jb2RlLnZhbHVlLCBxdWFudGl0eS51bml0LnZhbHVlLCAnMScpKSB9DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIE1lc3NhZ2UobnVsbCwgdHJ1ZSwgJ0ZISVJIZWxwZXJzLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eScsICdFcnJvcicsICdJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogJyAmIHF1YW50aXR5LnVuaXQudmFsdWUgJiAnICgnICYgcXVhbnRpdHkuc3lzdGVtLnZhbHVlICYgJ3wnICYgcXVhbnRpdHkuY29kZS52YWx1ZSAmICcpJykNCiAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6DQogICAgY2FzZQ0KICAgICAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsDQogICAgICAgIHdoZW4gcXVhbnRpdHkudmFsdWUgaXMgbnVsbCB0aGVuIG51bGwNCiAgICAgICAgd2hlbiBxdWFudGl0eS5zeXN0ZW0gaXMgbnVsbCBvciBxdWFudGl0eS5zeXN0ZW0udmFsdWUgPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZycNCiAgICAgICAgICAgICAgb3IgcXVhbnRpdHkuc3lzdGVtLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMnIHRoZW4NCiAgICAgICAgICAgIFN5c3RlbS5RdWFudGl0eSB7IHZhbHVlOiBxdWFudGl0eS52YWx1ZS52YWx1ZSwgdW5pdDogVG9DYWxlbmRhclVuaXQoQ29hbGVzY2UocXVhbnRpdHkuY29kZS52YWx1ZSwgcXVhbnRpdHkudW5pdC52YWx1ZSwgJzEnKSkgfQ0KICAgICAgICBlbHNlDQogICAgICAgICAgICBNZXNzYWdlKG51bGwsIHRydWUsICdGSElSSGVscGVycy5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHknLCAnRXJyb3InLCAnSW52YWxpZCBGSElSIFF1YW50aXR5IGNvZGU6ICcgJiBxdWFudGl0eS51bml0LnZhbHVlICYgJyAoJyAmIHF1YW50aXR5LnN5c3RlbS52YWx1ZSAmICd8JyAmIHF1YW50aXR5LmNvZGUudmFsdWUgJiAnKScpDQogICAgZW5kDQoNCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHF1YW50aXR5IEZISVIuUXVhbnRpdHkpOg0KICAgIGlmIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsIGVsc2UNCiAgICAgICAgY2FzZSBxdWFudGl0eS5jb21wYXJhdG9yLnZhbHVlDQogICAgICAgICAgICB3aGVuICc8JyB0aGVuDQogICAgICAgICAgICAgICAgSW50ZXJ2YWxbDQogICAgICAgICAgICAgICAgICAgIG51bGwsDQogICAgICAgICAgICAgICAgICAgIFRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IocXVhbnRpdHkpDQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgd2hlbiAnPD0nIHRoZW4NCiAgICAgICAgICAgICAgICBJbnRlcnZhbFsNCiAgICAgICAgICAgICAgICAgICAgbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvcihxdWFudGl0eSkNCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICB3aGVuICc+PScgdGhlbg0KICAgICAgICAgICAgICAgIEludGVydmFsWw0KICAgICAgICAgICAgICAgICAgICBUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yKHF1YW50aXR5KSwNCiAgICAgICAgICAgICAgICAgICAgbnVsbA0KICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgIHdoZW4gJz4nIHRoZW4NCiAgICAgICAgICAgICAgICBJbnRlcnZhbCgNCiAgICAgICAgICAgICAgICAgICAgVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvcihxdWFudGl0eSksDQogICAgICAgICAgICAgICAgICAgIG51bGwNCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgSW50ZXJ2YWxbVG9RdWFudGl0eShxdWFudGl0eSksIFRvUXVhbnRpdHkocXVhbnRpdHkpXQ0KICAgICAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUmF0aW8ocmF0aW8gRkhJUi5SYXRpbyk6DQogICAgaWYgcmF0aW8gaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIFN5c3RlbS5SYXRpbyB7IG51bWVyYXRvcjogVG9RdWFudGl0eShyYXRpby5udW1lcmF0b3IpLCBkZW5vbWluYXRvcjogVG9RdWFudGl0eShyYXRpby5kZW5vbWluYXRvcikgfQ0KDQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChyYW5nZSBGSElSLlJhbmdlKToNCiAgICBpZiByYW5nZSBpcyBudWxsIHRoZW4NCiAgICAgICAgbnVsbA0KICAgIGVsc2UNCiAgICAgICAgSW50ZXJ2YWxbVG9RdWFudGl0eShyYW5nZS5sb3cpLCBUb1F1YW50aXR5KHJhbmdlLmhpZ2gpXQ0KDQpkZWZpbmUgZnVuY3Rpb24gVG9Db2RlKGNvZGluZyBGSElSLkNvZGluZyk6DQogICAgaWYgY29kaW5nIGlzIG51bGwgdGhlbg0KICAgICAgICBudWxsDQogICAgZWxzZQ0KICAgICAgICBTeXN0ZW0uQ29kZSB7DQogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsDQogICAgICAgICAgc3lzdGVtOiBjb2Rpbmcuc3lzdGVtLnZhbHVlLA0KICAgICAgICAgIHZlcnNpb246IGNvZGluZy52ZXJzaW9uLnZhbHVlLA0KICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlDQogICAgICAgIH0NCg0KZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToNCiAgICBpZiBjb25jZXB0IGlzIG51bGwgdGhlbg0KICAgICAgICBudWxsDQogICAgZWxzZQ0KICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7DQogICAgICAgICAgICBjb2RlczogY29uY2VwdC5jb2RpbmcgQyByZXR1cm4gVG9Db2RlKEMpLA0KICAgICAgICAgICAgZGlzcGxheTogY29uY2VwdC50ZXh0LnZhbHVlDQogICAgICAgIH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlZmVyZW5jZShyZWZlcmVuY2UgU3RyaW5nKToNCiAgICBpZiByZWZlcmVuY2UgaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6IHJlZmVyZW5jZSB9IH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlc29sdmUocmVmZXJlbmNlIFN0cmluZykgcmV0dXJucyBSZXNvdXJjZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiByZXNvbHZlKHJlZmVyZW5jZSBSZWZlcmVuY2UpIHJldHVybnMgUmVzb3VyY2U6IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlKHJlc291cmNlIFJlc291cmNlKSByZXR1cm5zIFJlZmVyZW5jZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBleHRlbnNpb24oZWxlbWVudCBFbGVtZW50LCB1cmwgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gZXh0ZW5zaW9uKHJlc291cmNlIFJlc291cmNlLCB1cmwgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gaGFzVmFsdWUoZWxlbWVudCBFbGVtZW50KSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gZ2V0VmFsdWUoZWxlbWVudCBFbGVtZW50KSByZXR1cm5zIEFueTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBvZlR5cGUoaWRlbnRpZmllciBTdHJpbmcpIHJldHVybnMgTGlzdDxBbnk+OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGlzKGlkZW50aWZpZXIgU3RyaW5nKSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gYXMoaWRlbnRpZmllciBTdHJpbmcpIHJldHVybnMgQW55OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGVsZW1lbnREZWZpbml0aW9uKGVsZW1lbnQgRWxlbWVudCkgcmV0dXJucyBFbGVtZW50RGVmaW5pdGlvbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzbGljZShlbGVtZW50IEVsZW1lbnQsIHVybCBTdHJpbmcsIG5hbWUgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMocmVzb3VyY2UgUmVzb3VyY2UpIHJldHVybnMgUmVzb3VyY2U6IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMocmVzb3VyY2UgUmVzb3VyY2UsIG1vZGlmaWVyIFN0cmluZykgcmV0dXJucyBSZXNvdXJjZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBjaGVja01vZGlmaWVycyhlbGVtZW50IEVsZW1lbnQpIHJldHVybnMgRWxlbWVudDogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBjaGVja01vZGlmaWVycyhlbGVtZW50IEVsZW1lbnQsIG1vZGlmaWVyIFN0cmluZykgcmV0dXJucyBFbGVtZW50OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGNvbmZvcm1zVG8ocmVzb3VyY2UgUmVzb3VyY2UsIHN0cnVjdHVyZSBTdHJpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBtZW1iZXJPZihjb2RlIGNvZGUsIHZhbHVlU2V0IFN0cmluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIG1lbWJlck9mKGNvZGluZyBDb2RpbmcsIHZhbHVlU2V0IFN0cmluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIG1lbWJlck9mKGNvbmNlcHQgQ29kZWFibGVDb25jZXB0LCB2YWx1ZVNldCBTdHJpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lcyhjb2RpbmcgQ29kaW5nLCBzdWJzdW1lZENvZGluZyBDb2RpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lcyhjb25jZXB0IENvZGVhYmxlQ29uY2VwdCwgc3Vic3VtZWRDb25jZXB0IENvZGVhYmxlQ29uY2VwdCkgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVkQnkoY29kaW5nIENvZGluZywgc3Vic3VtaW5nQ29kaW5nIENvZGluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVkQnkoY29uY2VwdCBDb2RlYWJsZUNvbmNlcHQsIHN1YnN1bWluZ0NvbmNlcHQgQ29kZWFibGVDb25jZXB0KSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gaHRtbENoZWNrcyhlbGVtZW50IEVsZW1lbnQpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjY291bnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkNhcmRpbmFsaXR5QmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkNvbmRpdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkdyb3VwaW5nQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUmVsYXRpb25zaGlwVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUmVxdWlyZWRCZWhhdmlvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uU2VsZWN0aW9uQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGl2aXR5RGVmaW5pdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGl2aXR5UGFydGljaXBhbnRUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBZGRyZXNzVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWRkcmVzc1VzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWRtaW5pc3RyYXRpdmVHZW5kZXIpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFkdmVyc2VFdmVudEFjdHVhbGl0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBbGxlcmd5SW50b2xlcmFuY2VUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXNzZXJ0aW9uRGlyZWN0aW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXNzZXJ0aW9uT3BlcmF0b3JUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBdWRpdEV2ZW50QWN0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEJpbmRpbmdTdHJlbmd0aCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0U3RvcmFnZVNjYWxlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBCdW5kbGVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDYXBhYmlsaXR5U3RhdGVtZW50S2luZCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2FyZVBsYW5BY3Rpdml0eUtpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhcmVQbGFuSW50ZW50KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDYXJlUGxhblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2FyZVRlYW1TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhdGFsb2dFbnRyeVJlbGF0aW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2hhcmdlSXRlbURlZmluaXRpb25QcmljZUNvbXBvbmVudFR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENoYXJnZUl0ZW1TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENsYWltUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENsYWltU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvZGVTZWFyY2hTdXBwb3J0KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb2RlU3lzdGVtQ29udGVudE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvZGVTeXN0ZW1IaWVyYXJjaHlNZWFuaW5nKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21tdW5pY2F0aW9uUHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21tdW5pY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21wYXJ0bWVudENvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbXBhcnRtZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29tcG9zaXRpb25BdHRlc3RhdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbXBvc2l0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uZGl0aW9uYWxEZWxldGVTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbmRpdGlvbmFsUmVhZFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uc2VudERhdGFNZWFuaW5nKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25zZW50UHJvdmlzaW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uc2VudFN0YXRlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25zdHJhaW50U2V2ZXJpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29udGFjdFBvaW50VXNlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb250cmFjdFB1YmxpY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb250cmFjdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29udHJpYnV0b3JUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb3ZlcmFnZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ3VycmVuY3lDb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEYXlPZldlZWspOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERheXNPZldlZWspOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERldGVjdGVkSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV0ZWN0ZWRJc3N1ZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEZXZpY2VNZXRyaWNDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ29sb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEZXZpY2VOYW1lVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlUmVxdWVzdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEaXNjcmltaW5hdG9yVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRG9jdW1lbnRDb25maWRlbnRpYWxpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERvY3VtZW50TW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERvY3VtZW50UmVsYXRpb25zaGlwVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXF1ZXN0UHVycG9zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbGlnaWJpbGl0eVJlc3BvbnNlUHVycG9zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXNwb25zZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5hYmxlV2hlbkJlaGF2aW9yKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5jb3VudGVyU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5yb2xsbWVudFJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEVucm9sbG1lbnRSZXNwb25zZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXZlbnRUaW1pbmcpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEV2aWRlbmNlVmFyaWFibGVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeGFtcGxlU2NlbmFyaW9BY3RvclR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeHBvc3VyZVN0YXRlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeHRlbnNpb25Db250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUkFsbFR5cGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSRGVmaW5lZFR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJEZXZpY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJSZXNvdXJjZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJTdWJzdGFuY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJWZXJzaW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGYW1pbHlIaXN0b3J5U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGaWx0ZXJPcGVyYXRvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR29hbExpZmVjeWNsZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEdyYXBoQ29tcGFydG1lbnRVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEdyb3VwTWVhc3VyZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR3JvdXBUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkZVBhZ2VHZW5lcmF0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkZVBhcmFtZXRlckNvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEhUVFBWZXJiKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJZGVudGlmaWVyVXNlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJbWFnaW5nU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEltbXVuaXphdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSW52b2ljZVByaWNlQ29tcG9uZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSW52b2ljZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSXNzdWVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMaW5rVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTGlua2FnZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIExpc3RNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMaXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMb2NhdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIExvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWFzdXJlUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWFzdXJlUmVwb3J0VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWFTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWRpY2F0aW9uS25vd2xlZGdlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWRpY2F0aW9uUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVzc2FnZWhlYWRlcl9SZXNwb25zZV9SZXF1ZXN0KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNaW1lVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTmFtZVVzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE5hbWluZ1N5c3RlbVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTm90ZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE51dHJpdGlpb25PcmRlckludGVudCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9ic2VydmF0aW9uRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9ic2VydmF0aW9uUmFuZ2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9wZXJhdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9wZXJhdGlvblBhcmFtZXRlclVzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgT3JpZW50YXRpb25UeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXJhbWV0ZXJVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFBhcnRpY2lwYW50UmVxdWlyZWQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFBhcnRpY2lwYW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXJ0aWNpcGF0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXltZW50Tm90aWNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXltZW50UmVjb25jaWxpYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFByb2NlZHVyZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHJvcGVydHlSZXByZXNlbnRhdGlvbik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHJvcGVydHlUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1YWxpdHlUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBRdWFudGl0eUNvbXBhcmF0b3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1ZXN0aW9ubmFpcmVJdGVtVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVmZXJlbmNlVmVyc2lvblJ1bGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWZlcnJlZERvY3VtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWxhdGVkQXJ0aWZhY3RUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZW1pdHRhbmNlT3V0Y29tZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVwb3NpdG9yeVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlcXVlc3RQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVxdWVzdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hFbGVtZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hTdHVkeVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hTdWJqZWN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZXNvdXJjZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlc291cmNlVmVyc2lvblBvbGljeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzcG9uc2VUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZXN0ZnVsQ2FwYWJpbGl0eU1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJpc2tBc3Nlc3NtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTUERYTGljZW5zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VhcmNoQ29tcGFyYXRvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTZWFyY2hNb2RpZmllckNvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlYXJjaFBhcmFtVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VjdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcXVlbmNlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VydmljZVJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcnZpY2VSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNvcnREaXJlY3Rpb24pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNwZWNpbWVuQ29udGFpbmVkUHJlZmVyZW5jZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3BlY2ltZW5TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RyYW5kVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RydWN0dXJlRGVmaW5pdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcENvbnRleHRUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBJbnB1dE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcE1vZGVsTW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RydWN0dXJlTWFwU291cmNlTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcFRhcmdldExpc3RNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBUcmFuc2Zvcm0pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdWJzY3JpcHRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN1cHBseURlbGl2ZXJ5U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdXBwbHlSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFRhc2tJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFRhc2tQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFJlc3VsdCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBUcmlnZ2VyVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVHlwZURlcml2YXRpb25SdWxlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBUeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBVRElFbnRyeVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFZhcmlhYmxlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uQmFzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBYUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgYmFzZTY0QmluYXJ5KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb0Jvb2xlYW4odmFsdWUgYm9vbGVhbik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlKHZhbHVlIGRhdGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZVRpbWUodmFsdWUgZGF0ZVRpbWUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvRGVjaW1hbCh2YWx1ZSBkZWNpbWFsKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb0RhdGVUaW1lKHZhbHVlIGluc3RhbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBpbnRlZ2VyKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBzdHJpbmcpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSB0aW1lKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSB1cmkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIHhodG1sKTogdmFsdWUudmFsdWUNCg==" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMTQyOCI+CiAgICAgICAgIDxhOnM+LyoKQGF1dGhvcjogQnJ5biBSaG9kZXMKQGRlc2NyaXB0aW9uOiBUaGlzIGxpYnJhcnkgZGVmaW5lcyBmdW5jdGlvbnMgdG8gY29udmVydCBiZXR3ZWVuIEZISVIKIGRhdGEgdHlwZXMgYW5kIENRTCBzeXN0ZW0tZGVmaW5lZCB0eXBlcywgYXMgd2VsbCBhcyBmdW5jdGlvbnMgdG8gc3VwcG9ydAogRkhJUlBhdGggaW1wbGVtZW50YXRpb24uIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIEZISVJIZWxwZXJzIHdpa2kgcGFnZToKIGh0dHBzOi8vZ2l0aHViLmNvbS9jcWZyYW1ld29yay9jbGluaWNhbF9xdWFsaXR5X2xhbmd1YWdlL3dpa2kvRkhJUkhlbHBlcnMKQGFsbG93Rmx1ZW50OiB0cnVlCiovCmxpYnJhcnkgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJGSElSSGVscGVycyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiIHZlcnNpb249IjQuMC4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iMTE6MS0xMToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjEzOjEtMjA6NjIiIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUiPiB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O3N0YXJ0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtzdGFydCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtlbmQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgZWxzZQogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7c3RhcnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7ZW5kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMTQ6NS0yMDo2MiIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSI0IiBsb2NhdG9yPSIxNDo4LTE0OjIxIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMyIgbG9jYXRvcj0iMTQ6OC0xNDoxMyIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNSIgbG9jYXRvcj0iMTU6OS0xNToxMiIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIxNzo5LTIwOjYyIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE3OjEyLTE3OjMzIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTc6MTItMTc6MjUiIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjE3OjEyLTE3OjE3IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIxODoxMy0xODo2MiIgbG93Q2xvc2VkPSJmYWxzZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMTg6MjItMTg6NDEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxODoyMi0xODozNSIgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMTg6MjItMTg6MjciIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMTg6NDQtMTg6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIxODo0NC0xODo1NSIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIxODo0NC0xODo0OSIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIyMDoxMy0yMDo2MiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyMDoyMi0yMDo0MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTciIGxvY2F0b3I9IjIwOjIyLTIwOjM1IiBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMjA6MjItMjA6MjciIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMjA6NDQtMjA6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIyMDo0NC0yMDo1NSIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyMDo0NC0yMDo0OSIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMiIgbG9jYXRvcj0iMTM6MzUtMTM6NDUiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjIyOjEtMzM6NyIgbmFtZT0iVG9DYWxlbmRhclVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9DYWxlbmRhclVuaXQodW5pdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3lzdGVtLlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51bml0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nbXMnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nbWlsbGlzZWNvbmQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3MnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nc2Vjb25kJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidtaW4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nbWludXRlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidoJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2hvdXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2QnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZGF5JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPid3ayc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPid3ZWVrJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidtbyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidtb250aCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nYSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPid5ZWFyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dW5pdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGVuZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSIyMzo1LTMzOjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNvbXBhcmFuZCBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMjM6MTAtMjM6MTMiIG5hbWU9InVuaXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMjQ6OS0yNDozNiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIyNDoxNC0yNDoxNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1zIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMjQ6MjQtMjQ6MzYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtaWxsaXNlY29uZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSIyNTo5LTI1OjMwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjI1OjE0LTI1OjE2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjI1OjIzLTI1OjMwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ic2Vjb25kIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjI2OjktMjY6MzIiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIzNCIgbG9jYXRvcj0iMjY6MTQtMjY6MTgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtaW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIyNjoyNS0yNjozMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1pbnV0ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSIyNzo5LTI3OjI4Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzciIGxvY2F0b3I9IjI3OjE0LTI3OjE2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjI3OjIzLTI3OjI4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaG91ciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSIyODo5LTI4OjI3Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjI4OjE0LTI4OjE2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDEiIGxvY2F0b3I9IjI4OjIzLTI4OjI3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGF5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjI5OjktMjk6MjkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI0MyIgbG9jYXRvcj0iMjk6MTQtMjk6MTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ3ayIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDQiIGxvY2F0b3I9IjI5OjI0LTI5OjI5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0id2VlayIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSIzMDo5LTMwOjMwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjMwOjE0LTMwOjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ibW8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIzMDoyNC0zMDozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1vbnRoIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iNTEiIGxvY2F0b3I9IjMxOjktMzE6MjgiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMzE6MTQtMzE6MTYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSI1MCIgbG9jYXRvcj0iMzE6MjMtMzE6MjgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ5ZWFyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSI1MiIgbG9jYXRvcj0iMzI6MTQtMzI6MTciIG5hbWU9InVuaXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idW5pdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNiIgbG9jYXRvcj0iMjI6MzctMjI6NDkiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSIzNToxLTQ2OjciIG5hbWU9IlRvUXVhbnRpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+IHRoZW4gbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+IHRoZW4gbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbXBhcmF0b3I8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPk1lc3NhZ2UobnVsbCwgdHJ1ZSwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidGSElSSGVscGVycy5Ub1F1YW50aXR5LkNvbXBhcmF0b3JRdWFudGl0eU5vdFN1cHBvcnRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Vycm9yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRkhJUiBRdWFudGl0eSB2YWx1ZSBoYXMgYSBjb21wYXJhdG9yIGFuZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgU3lzdGVtLlF1YW50aXR5IHZhbHVlLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2hsNy5vcmcvZmhpcnBhdGgvQ29kZVN5c3RlbS9jYWxlbmRhci11bml0cyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN5c3RlbS5RdWFudGl0eSB7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51bml0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ2FsZW5kYXJVbml0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dW5pdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIGVsc2UKICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPk1lc3NhZ2UobnVsbCwgdHJ1ZSwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRkhJUkhlbHBlcnMuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Vycm9yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0ludmFsaWQgRkhJUiBRdWFudGl0eSBjb2RlOiAnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmYW1wOyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51bml0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmYW1wOyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicgKCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmYW1wOyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICZhbXA7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3wnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gJmFtcDsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gJmFtcDsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nKSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjgiIGxvY2F0b3I9IjM2OjUtNDY6NyIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjM3OjktMzc6MzkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI1NyIgbG9jYXRvcj0iMzc6MTQtMzc6MjkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NiIgbG9jYXRvcj0iMzc6MTQtMzc6MjEiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjM3OjM2LTM3OjM5IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSI2NCIgbG9jYXRvcj0iMzg6OS0zODo0NSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSIzODoxNC0zODozNSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSIzODoxNC0zODoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjM4OjE0LTM4OjIxIiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjM4OjQyLTM4OjQ1IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSI3NCIgbG9jYXRvcj0iMzk6OS00MDoxODkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI2NyIgbG9jYXRvcj0iMzk6MTQtMzk6NDQiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzOToxNC0zOTo0NCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY2IiBsb2NhdG9yPSIzOToxNC0zOTozMiIgcGF0aD0iY29tcGFyYXRvciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NSIgbG9jYXRvcj0iMzk6MTQtMzk6MjEiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI0MDoxMy00MDoxODkiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2OCIgbG9jYXRvcj0iNDA6MjEtNDA6MjQiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjQwOjI3LTQwOjMwIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI0MDozMy00MDo4NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkuQ29tcGFyYXRvclF1YW50aXR5Tm90U3VwcG9ydGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iNzEiIGxvY2F0b3I9IjQwOjkwLTQwOjk2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2FsSWQ9IjcyIiBsb2NhdG9yPSI0MDo5OS00MDoxODgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGSElSIFF1YW50aXR5IHZhbHVlIGhhcyBhIGNvbXBhcmF0b3IgYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBTeXN0ZW0uUXVhbnRpdHkgdmFsdWUuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNDE6OS00MzoxMzgiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNDE6MTQtNDI6OTIiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSI0MToxNC00MTo5MSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzciIGxvY2F0b3I9IjQxOjE0LTQxOjM2IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzYiIGxvY2F0b3I9IjQxOjE0LTQxOjI4IiBwYXRoPSJzeXN0ZW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjQxOjE0LTQxOjIxIiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgyIiBsb2NhdG9yPSI0MTo0MS00MTo5MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjQxOjQxLTQxOjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iNDE6NDEtNDE6NTUiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNDE6NDEtNDE6NDgiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNDE6NjUtNDE6OTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODgiIGxvY2F0b3I9IjQyOjE4LTQyOjkyIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNDI6MTgtNDI6MzgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI0MjoxOC00MjozMiIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI0MjoxOC00MjoyNSIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI0Mjo0Mi00Mjo5MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjQzOjEzLTQzOjEzOCIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNDM6MzgtNDM6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI0MzozOC00Mzo1MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTAiIGxvY2F0b3I9IjQzOjM4LTQzOjQ1IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjQzOjY2LTQzOjEzNiIgbmFtZT0iVG9DYWxlbmRhclVuaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNDM6ODEtNDM6MTM1IiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NSIgbG9jYXRvcj0iNDM6OTAtNDM6MTA4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNDM6OTAtNDM6MTAyIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI0Mzo5MC00Mzo5NyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk4IiBsb2NhdG9yPSI0MzoxMTEtNDM6MTI5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NyIgbG9jYXRvcj0iNDM6MTExLTQzOjEyMyIgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NiIgbG9jYXRvcj0iNDM6MTExLTQzOjExOCIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSI0MzoxMzItNDM6MTM0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjciIGxvY2F0b3I9IjQ1OjEzLTQ1OjIwNSIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iNDU6MjEtNDU6MjQiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSI0NToyNy00NTozMCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSIxMDYiIGxvY2F0b3I9IjQ1OjMzLTQ1Ojc2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSI0NTo3OS00NTo4NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhbElkPSIxMjYiIGxvY2F0b3I9IjQ1Ojg4LTQ1OjIwNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTI0IiBsb2NhdG9yPSI0NTo4OC00NToxOTgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iNDU6ODgtNDU6MTc2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjQ1Ojg4LTQ1OjE3MCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE0IiBsb2NhdG9yPSI0NTo4OC00NToxNDYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iNDU6ODgtNDU6MTM5IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDgiIGxvY2F0b3I9IjQ1Ojg4LTQ1OjExNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkludmFsaWQgRkhJUiBRdWFudGl0eSBjb2RlOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI0NToxMjEtNDU6MTM5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTAiIGxvY2F0b3I9IjQ1OjEyMS00NToxMzMiIHBhdGg9InVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI0NToxMjEtNDU6MTI4IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEzIiBsb2NhdG9yPSI0NToxNDMtNDU6MTQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iICgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNDU6MTUwLTQ1OjE3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI0NToxNTAtNDU6MTY0IiBwYXRoPSJzeXN0ZW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI0NToxNTAtNDU6MTU3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI0NToxNzQtNDU6MTc2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ifCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSI0NToxODAtNDU6MTk4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjIiIGxvY2F0b3I9IjQ1OjE4MC00NToxOTIiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIxIiBsb2NhdG9yPSI0NToxODAtNDU6MTg3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTI1IiBsb2NhdG9yPSI0NToyMDItNDU6MjA0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iKSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L21lc3NhZ2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIzNTozNy0zNTo0OSIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iNDg6MS01Nzo3IiBuYW1lPSJUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yKHF1YW50aXR5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+IHRoZW4gbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+IHRoZW4gbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN5c3RlbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3lzdGVtPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN5c3RlbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2h0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TeXN0ZW0uUXVhbnRpdHkgeyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51bml0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ2FsZW5kYXJVbml0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dW5pdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nMSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgZWxzZQogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OSI+TWVzc2FnZShudWxsLCB0cnVlLCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidGSElSSGVscGVycy5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHknPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRXJyb3InPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nSW52YWxpZCBGSElSIFF1YW50aXR5IGNvZGU6ICc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICZhbXA7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVuaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICZhbXA7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JyAoJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICZhbXA7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN5c3RlbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gJmFtcDsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nfCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmYW1wOyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmYW1wOyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicpJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGVuZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE5MyIgbG9jYXRvcj0iNDk6NS01Nzo3IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxMzQiIGxvY2F0b3I9IjUwOjktNTA6MzkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjUwOjE0LTUwOjI5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI1MDoxNC01MDoyMSIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjUwOjM2LTUwOjM5IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxMzkiIGxvY2F0b3I9IjUxOjktNTE6NDUiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxMzciIGxvY2F0b3I9IjUxOjE0LTUxOjM1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM2IiBsb2NhdG9yPSI1MToxNC01MToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI1MToxNC01MToyMSIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iNTE6NDItNTE6NDUiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iNTI6OS01NDoxMzgiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjUyOjE0LTUzOjkyIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDgiIGxvY2F0b3I9IjUyOjE0LTUyOjkxIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjUyOjE0LTUyOjM2IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSI1MjoxNC01MjoyOCIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE0MCIgbG9jYXRvcj0iNTI6MTQtNTI6MjEiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSI1Mjo0MS01Mjo5MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSI1Mjo0MS01Mjo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI1Mjo0MS01Mjo1NSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iNTI6NDEtNTI6NDgiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjUyOjY1LTUyOjkxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1MyIgbG9jYXRvcj0iNTM6MTgtNTM6OTIiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iNTM6MTgtNTM6MzgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iNTM6MTgtNTM6MzIiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDkiIGxvY2F0b3I9IjUzOjE4LTUzOjI1IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSI1Mzo0Mi01Mzo5MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjU0OjEzLTU0OjEzOCIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIxNTciIGxvY2F0b3I9IjU0OjM4LTU0OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTYiIGxvY2F0b3I9IjU0OjM4LTU0OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjU0OjM4LTU0OjQ1IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjU0OjY2LTU0OjEzNiIgbmFtZT0iVG9DYWxlbmRhclVuaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NSIgbG9jYXRvcj0iNTQ6ODEtNTQ6MTM1IiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjAiIGxvY2F0b3I9IjU0OjkwLTU0OjEwOCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSI1NDo5MC01NDoxMDIiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSI1NDo5MC01NDo5NyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iNTQ6MTExLTU0OjEyOSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSI1NDoxMTEtNTQ6MTIzIiBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iNTQ6MTExLTU0OjExOCIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2NCIgbG9jYXRvcj0iNTQ6MTMyLTU0OjEzNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSI1NjoxMy01NjoyMDUiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjU2OjIxLTU2OjI0IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iNTY6MjctNTY6MzAiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMTcxIiBsb2NhdG9yPSI1NjozMy01Njo3NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPHNldmVyaXR5IGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iNTY6NzktNTY6ODUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJFcnJvciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYWxJZD0iMTkxIiBsb2NhdG9yPSI1Njo4OC01NjoyMDQiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iNTY6ODgtNTY6MTk4IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjU2Ojg4LTU2OjE3NiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgzIiBsb2NhdG9yPSI1Njo4OC01NjoxNzAiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3OSIgbG9jYXRvcj0iNTY6ODgtNTY6MTQ2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzciIGxvY2F0b3I9IjU2Ojg4LTU2OjEzOSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSI1Njo4OC01NjoxMTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NiIgbG9jYXRvcj0iNTY6MTIxLTU2OjEzOSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTc1IiBsb2NhdG9yPSI1NjoxMjEtNTY6MTMzIiBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iNTY6MTIxLTU2OjEyOCIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3OCIgbG9jYXRvcj0iNTY6MTQzLTU2OjE0NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiAoIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjU2OjE1MC01NjoxNzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iNTY6MTUwLTU2OjE2NCIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4MCIgbG9jYXRvcj0iNTY6MTUwLTU2OjE1NyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iNTY6MTc0LTU2OjE3NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iNTY6MTgwLTU2OjE5OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSI1NjoxODAtNTY6MTkyIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iNTY6MTgwLTU2OjE4NyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iNTY6MjAyLTU2OjIwNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IikiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9tZXNzYWdlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzAiIGxvY2F0b3I9IjQ4OjU1LTQ4OjY3IiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSI1OToxLTg0OjExIiBuYW1lPSJUb0ludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHF1YW50aXR5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPiB0aGVuIG51bGwgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb21wYXJhdG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicmbHQ7JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDMiPkludGVydmFsWwogICAgICAgICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nJmx0Oz0nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+SW50ZXJ2YWxbCiAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5xdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPic+PSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbCiAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPiwKICAgICAgICAgICAgICAgICAgICBudWxsCiAgICAgICAgICAgICAgICBdPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jz4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsKAogICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvcig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4sCiAgICAgICAgICAgICAgICAgICAgbnVsbAogICAgICAgICAgICAgICAgXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSI2MDo1LTg0OjExIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjE5NyIgbG9jYXRvcj0iNjA6OC02MDoyMyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5NiIgbG9jYXRvcj0iNjA6OC02MDoxNSIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjYwOjMwLTYwOjMzIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSI2MTo5LTg0OjExIiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgICAgIDxjb21wYXJhbmQgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSI2MToxNC02MTozOCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjAwIiBsb2NhdG9yPSI2MToxNC02MTozMiIgcGF0aD0iY29tcGFyYXRvciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjYxOjE0LTYxOjIxIiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvY29tcGFyYW5kPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjA3IiBsb2NhdG9yPSI2MjoxMy02NjoxNyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iNjI6MTgtNjI6MjAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSImbHQ7IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjYzOjE3LTY2OjE3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAzIiBsb2NhdG9yPSI2NDoyMS02NDoyNCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iNjU6MjEtNjU6NTgiIG5hbWU9IlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNCIgbG9jYXRvcj0iNjU6NTAtNjU6NTciIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iNjc6MTMtNzE6MTciPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjY3OjE4LTY3OjIxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iJmx0Oz0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iNjg6MTctNzE6MTciIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iNjk6MjEtNjk6MjQiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjcwOjIxLTcwOjU4IiBuYW1lPSJUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjcwOjUwLTcwOjU3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjcyOjEzLTc2OjE3Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSI3MjoxOC03MjoyMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ij49IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjczOjE3LTc2OjE3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSI3NDoyMS03NDo1OCIgbmFtZT0iVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvciIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSI3NDo1MC03NDo1NyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNyIgbG9jYXRvcj0iNzU6MjEtNzU6MjQiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSI3NzoxMy04MToxNyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIyMCIgbG9jYXRvcj0iNzc6MTgtNzc6MjAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI+IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMjQiIGxvY2F0b3I9Ijc4OjE3LTgxOjE3IiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iNzk6MjEtNzk6NTgiIG5hbWU9IlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMSIgbG9jYXRvcj0iNzk6NTAtNzk6NTciIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggYXNUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjgwOjIxLTgwOjI0IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSI4MzoxNy04Mzo2OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iODM6MjYtODM6NDUiIG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iODM6MzctODM6NDQiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSI4Mzo0OC04Mzo2NyIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSI4Mzo1OS04Mzo2NiIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icXVhbnRpdHkiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSI1OTozNy01OTo0OSIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iODY6MS05MDoxMDciIG5hbWU9IlRvUmF0aW8iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvUmF0aW8ocmF0aW8gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJhdGlvPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhdGlvPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+IHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TeXN0ZW0uUmF0aW8geyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5udW1lcmF0b3I6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmF0aW88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bnVtZXJhdG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRlbm9taW5hdG9yOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhdGlvPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRlbm9taW5hdG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9Ijg3OjUtOTA6MTA3IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iODc6OC04NzoyMCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iODc6OC04NzoxMiIgbmFtZT0icmF0aW8iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UmF0aW8iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iODg6OS04ODoxMiIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjkwOjktOTA6MTA3IiBjbGFzc1R5cGU9InQ6UmF0aW8iIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWVyYXRvciI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjkwOjM1LTkwOjYxIiBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjkwOjQ2LTkwOjYwIiBwYXRoPSJudW1lcmF0b3IiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSI5MDo0Ni05MDo1MCIgbmFtZT0icmF0aW8iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZW5vbWluYXRvciI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjkwOjc3LTkwOjEwNSIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSI5MDo4OC05MDoxMDQiIHBhdGg9ImRlbm9taW5hdG9yIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iOTA6ODgtOTA6OTIiIG5hbWU9InJhdGlvIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJhdGlvIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iODY6MzEtODY6NDAiIG5hbWU9ImZoaXI6UmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjkyOjEtOTY6NjMiIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZXJ2YWwocmFuZ2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+IHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmxvdzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aGlnaDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1OCIgbG9jYXRvcj0iOTM6NS05Njo2MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyNDkiIGxvY2F0b3I9IjkzOjgtOTM6MjAiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjkzOjgtOTM6MTIiIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSI5NDo5LTk0OjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSI5Njo5LTk2OjYzIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSI5NjoxOC05NjozOCIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSI5NjoyOS05NjozNyIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iOTY6MjktOTY6MzMiIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9Ijk2OjQxLTk2OjYyIiBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIGxvY2F0b3I9Ijk2OjUyLTk2OjYxIiBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iOTY6NTItOTY6NTYiIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJhbmdlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iOTI6MzQtOTI6NDMiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNzgiIGxvY2F0b3I9Ijk4OjEtMTA3OjkiIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9Db2RlKGNvZGluZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPiB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3lzdGVtLkNvZGUgewogICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAogICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3lzdGVtOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2Rpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3lzdGVtPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZlcnNpb246IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52ZXJzaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc3BsYXk6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNwbGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSI5OTo1LTEwNzo5IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iOTk6OC05OToyMSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iOTk6OC05OToxMyIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iMTAwOjktMTAwOjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTAyOjktMTA3OjkiIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjI2NiIgbG9jYXRvcj0iMTAzOjE3LTEwMzozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY1IiBsb2NhdG9yPSIxMDM6MTctMTAzOjI3IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTAzOjE3LTEwMzoyMiIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxMDQ6MTktMTA0OjM3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjEwNDoxOS0xMDQ6MzEiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjEwNDoxOS0xMDQ6MjQiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjEwNToyMC0xMDU6MzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iMTA1OjIwLTEwNTozMyIgcGF0aD0idmVyc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjEwNToyMC0xMDU6MjUiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjEwNjoyMC0xMDY6MzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTA2OjIwLTEwNjozMyIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzMiIGxvY2F0b3I9IjEwNjoyMC0xMDY6MjUiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjAiIGxvY2F0b3I9Ijk4OjMxLTk4OjQxIiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTA5OjEtMTE2OjkiIG5hbWU9IlRvQ29uY2VwdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9Db25jZXB0KGNvbmNlcHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+IHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGVzOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25jZXB0LmNvZGluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ29kZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc3BsYXk6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dGV4dDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTEwOjUtMTE2OjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTA6OC0xMTA6MjIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExMDo4LTExMDoxNCIgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjExMTo5LTExMToxMiIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIyOTIiIGxvY2F0b3I9IjExMzo5LTExNjo5IiBjbGFzc1R5cGU9InQ6Q29uY2VwdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxMTQ6MjAtMTE0OjUyIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4NCIgbG9jYXRvcj0iMTE0OjIwLTExNDozNSIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExNDoyMC0xMTQ6MzMiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iMTE0OjM3LTExNDo1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTE0OjQ0LTExNDo1MiIgbmFtZT0iVG9Db2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjExNDo1MSIgbmFtZT0iQyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjExNToyMi0xMTU6MzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE1OjIyLTExNTozMyIgcGF0aD0idGV4dCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjExNToyMi0xMTU6MjgiIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iMTA5OjM1LTEwOTo1NCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjExODoxLTEyMjo2MCIgbmFtZT0icmVmZXJlbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiByZWZlcmVuY2UocmVmZXJlbmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPiB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UmVmZXJlbmNlIHsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0cmluZyB7IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTE5OjUtMTIyOjYwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTE5OjgtMTE5OjI0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIxMTk6OC0xMTk6MTYiIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OCIgbG9jYXRvcj0iMTIwOjktMTIwOjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iMTIyOjktMTIyOjYwIiBjbGFzc1R5cGU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxMjI6MzItMTIyOjU4IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjEyMjo0OC0xMjI6NTYiIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIxMTg6MzctMTE4OjQyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwNiIgbG9jYXRvcj0iMTI0OjEtMTI0OjY4IiBuYW1lPSJyZXNvbHZlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzA2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gcmVzb2x2ZShyZWZlcmVuY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSIxMjQ6MzUtMTI0OjQwIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTI1OjEtMTI1OjcxIiBuYW1lPSJyZXNvbHZlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gcmVzb2x2ZShyZWZlcmVuY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5SZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxMjU6MzUtMTI1OjQzIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTI2OjEtMTI2OjcyIiBuYW1lPSJyZWZlcmVuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiByZWZlcmVuY2UocmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgPGE6cz5SZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjEyNjozNi0xMjY6NDMiIG5hbWU9ImZoaXI6UmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTciIGxvY2F0b3I9IjEyNzoxLTEyNzo4NiIgbmFtZT0iZXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gZXh0ZW5zaW9uKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgdXJsIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTI3OjM1LTEyNzo0MSIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTI3OjQ4LTEyNzo1MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMjIiIGxvY2F0b3I9IjEyODoxLTEyODo4OCIgbmFtZT0iZXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gZXh0ZW5zaW9uKHJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iMTI4OjM2LTEyODo0MyIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjEyODo1MC0xMjg6NTUiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzI1IiBsb2NhdG9yPSIxMjk6MS0xMjk6NjciIG5hbWU9Imhhc1ZhbHVlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzI1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gaGFzVmFsdWUoZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjMiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImVsZW1lbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIxMjk6MzQtMTI5OjQwIiBuYW1lPSJmaGlyOkVsZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMjgiIGxvY2F0b3I9IjEzMDoxLTEzMDo2MyIgbmFtZT0iZ2V0VmFsdWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBnZXRWYWx1ZShlbGVtZW50IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Bbnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMyNiIgbG9jYXRvcj0iMTMwOjM0LTEzMDo0MCIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzMyIiBsb2NhdG9yPSIxMzE6MS0xMzE6NjkiIG5hbWU9Im9mVHlwZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIG9mVHlwZShpZGVudGlmaWVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzEiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5Bbnk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkZW50aWZpZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzI5IiBsb2NhdG9yPSIxMzE6MzUtMTMxOjQwIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzNSIgbG9jYXRvcj0iMTMyOjEtMTMyOjYzIiBuYW1lPSJpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIGlzKGlkZW50aWZpZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkZW50aWZpZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzMzIiBsb2NhdG9yPSIxMzI6MzEtMTMyOjM2IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzOCIgbG9jYXRvcj0iMTMzOjEtMTMzOjU5IiBuYW1lPSJhcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIGFzKGlkZW50aWZpZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QW55PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWRlbnRpZmllciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMzYiIGxvY2F0b3I9IjEzMzozMS0xMzM6MzYiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQxIiBsb2NhdG9yPSIxMzQ6MS0xMzQ6ODYiIG5hbWU9ImVsZW1lbnREZWZpbml0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gZWxlbWVudERlZmluaXRpb24oZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudERlZmluaXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMzOSIgbG9jYXRvcj0iMTM0OjQzLTEzNDo0OSIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQ3IiBsb2NhdG9yPSIxMzU6MS0xMzU6OTUiIG5hbWU9InNsaWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gc2xpY2UoZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBuYW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0MiIgbG9jYXRvcj0iMTM1OjMxLTEzNTozNyIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTM1OjQ0LTEzNTo0OSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJuYW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0NCIgbG9jYXRvcj0iMTM1OjU3LTEzNTo2MiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTAiIGxvY2F0b3I9IjEzNjoxLTEzNjo3NiIgbmFtZT0iY2hlY2tNb2RpZmllcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNTAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBjaGVja01vZGlmaWVycyhyZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDgiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDkiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxMzY6NDEtMTM2OjQ4IiBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzU0IiBsb2NhdG9yPSIxMzc6MS0xMzc6OTMiIG5hbWU9ImNoZWNrTW9kaWZpZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMocmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIG1vZGlmaWVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzUxIiBsb2NhdG9yPSIxMzc6NDEtMTM3OjQ4IiBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0ibW9kaWZpZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxMzc6NjAtMTM3OjY1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1NyIgbG9jYXRvcj0iMTM4OjEtMTM4OjczIiBuYW1lPSJjaGVja01vZGlmaWVycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM1NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIGNoZWNrTW9kaWZpZXJzKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1NSIgbG9jYXRvcj0iMTM4OjQwLTEzODo0NiIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzYxIiBsb2NhdG9yPSIxMzk6MS0xMzk6OTAiIG5hbWU9ImNoZWNrTW9kaWZpZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzYxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMoZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBtb2RpZmllciA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTkiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZWxlbWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTgiIGxvY2F0b3I9IjEzOTo0MC0xMzk6NDYiIG5hbWU9ImZoaXI6RWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im1vZGlmaWVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1OSIgbG9jYXRvcj0iMTM5OjU4LTEzOTo2MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNjUiIGxvY2F0b3I9IjE0MDoxLTE0MDo4OSIgbmFtZT0iY29uZm9ybXNUbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM2NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIGNvbmZvcm1zVG8ocmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHN0cnVjdHVyZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIxNDA6MzctMTQwOjQ0IiBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0ic3RydWN0dXJlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTQwOjU3LTE0MDo2MiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNjkiIGxvY2F0b3I9IjE0MToxLTE0MTo3OCIgbmFtZT0ibWVtYmVyT2YiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBtZW1iZXJPZihjb2RlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHZhbHVlU2V0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM2NiIgbG9jYXRvcj0iMTQxOjMxLTE0MTozNCIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWVTZXQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxNDE6NDYtMTQxOjUxIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTQyOjEtMTQyOjgyIiBuYW1lPSJtZW1iZXJPZiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM3MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIG1lbWJlck9mKGNvZGluZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzAiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHZhbHVlU2V0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPikgcmV0dXJucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+OiBleHRlcm5hbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzcwIiBsb2NhdG9yPSIxNDI6MzMtMTQyOjM4IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlU2V0Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM3MSIgbG9jYXRvcj0iMTQyOjUwLTE0Mjo1NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNzciIGxvY2F0b3I9IjE0MzoxLTE0Mzo5MiIgbmFtZT0ibWVtYmVyT2YiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNzciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBtZW1iZXJPZihjb25jZXB0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgdmFsdWVTZXQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzc0IiBsb2NhdG9yPSIxNDM6MzQtMTQzOjQ4IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlU2V0Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTQzOjYwLTE0Mzo2NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzODEiIGxvY2F0b3I9IjE0NDoxLTE0NDo4OCIgbmFtZT0ic3Vic3VtZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lcyhjb2RpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2Rpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBzdWJzdW1lZENvZGluZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzkiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM3OCIgbG9jYXRvcj0iMTQ0OjMzLTE0NDozOCIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJzdWJzdW1lZENvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNzkiIGxvY2F0b3I9IjE0NDo1Ni0xNDQ6NjEiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzg1IiBsb2NhdG9yPSIxNDU6MS0xNDU6MTA4IiBuYW1lPSJzdWJzdW1lcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM4NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVzKGNvbmNlcHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBzdWJzdW1lZENvbmNlcHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzgyIiBsb2NhdG9yPSIxNDU6MzQtMTQ1OjQ4IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InN1YnN1bWVkQ29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzODMiIGxvY2F0b3I9IjE0NTo2Ny0xNDU6ODEiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzg5IiBsb2NhdG9yPSIxNDY6MS0xNDY6OTEiIG5hbWU9InN1YnN1bWVkQnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIGV4dGVybmFsPSJ0cnVlIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lZEJ5KGNvZGluZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODYiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHN1YnN1bWluZ0NvZGluZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4NiIgbG9jYXRvcj0iMTQ2OjM1LTE0Njo0MCIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJzdWJzdW1pbmdDb2RpbmciPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzg3IiBsb2NhdG9yPSIxNDY6NTktMTQ2OjY0IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM5MyIgbG9jYXRvcj0iMTQ3OjEtMTQ3OjExMSIgbmFtZT0ic3Vic3VtZWRCeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgZXh0ZXJuYWw9InRydWUiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM5MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVkQnkoY29uY2VwdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTAiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHN1YnN1bWluZ0NvbmNlcHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KSByZXR1cm5zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz46IGV4dGVybmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzkwIiBsb2NhdG9yPSIxNDc6MzYtMTQ3OjUwIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InN1YnN1bWluZ0NvbmNlcHQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzkxIiBsb2NhdG9yPSIxNDc6NzAtMTQ3Ojg0IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM5NiIgbG9jYXRvcj0iMTQ4OjEtMTQ4OjY5IiBuYW1lPSJodG1sQ2hlY2tzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiBleHRlcm5hbD0idHJ1ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzk2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gaHRtbENoZWNrcyhlbGVtZW50IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pIHJldHVybnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPjogZXh0ZXJuYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZWxlbWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTQiIGxvY2F0b3I9IjE0ODozNi0xNDg6NDIiIG5hbWU9ImZoaXI6RWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwMCIgbG9jYXRvcj0iMTUwOjEtMTUwOjU4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BY2NvdW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5OSIgbG9jYXRvcj0iMTUwOjQ4LTE1MDo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzk4IiBsb2NhdG9yPSIxNTA6NDgtMTUwOjUyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTciIGxvY2F0b3I9IjE1MDozMi0xNTA6NDQiIG5hbWU9ImZoaXI6QWNjb3VudFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwNCIgbG9jYXRvcj0iMTUxOjEtMTUxOjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwMyIgbG9jYXRvcj0iMTUxOjYwLTE1MTo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDAyIiBsb2NhdG9yPSIxNTE6NjAtMTUxOjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDEiIGxvY2F0b3I9IjE1MTozMi0xNTE6NTYiIG5hbWU9ImZoaXI6QWN0aW9uQ2FyZGluYWxpdHlCZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwOCIgbG9jYXRvcj0iMTUyOjEtMTUyOjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpb25Db25kaXRpb25LaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwNyIgbG9jYXRvcj0iMTUyOjU0LTE1Mjo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDA2IiBsb2NhdG9yPSIxNTI6NTQtMTUyOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDUiIGxvY2F0b3I9IjE1MjozMi0xNTI6NTAiIG5hbWU9ImZoaXI6QWN0aW9uQ29uZGl0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxMiIgbG9jYXRvcj0iMTUzOjEtMTUzOjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDEyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxMSIgbG9jYXRvcj0iMTUzOjU3LTE1Mzo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDEwIiBsb2NhdG9yPSIxNTM6NTctMTUzOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDkiIGxvY2F0b3I9IjE1MzozMi0xNTM6NTMiIG5hbWU9ImZoaXI6QWN0aW9uR3JvdXBpbmdCZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxNiIgbG9jYXRvcj0iMTU0OjEtMTU0OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDEzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpb25QYXJ0aWNpcGFudFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDE1IiBsb2NhdG9yPSIxNTQ6NTYtMTU0OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MTQiIGxvY2F0b3I9IjE1NDo1Ni0xNTQ6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQxMyIgbG9jYXRvcj0iMTU0OjMyLTE1NDo1MiIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MjAiIGxvY2F0b3I9IjE1NToxLTE1NTo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWN0aW9uUHJlY2hlY2tCZWhhdmlvcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MTkiIGxvY2F0b3I9IjE1NTo1Ny0xNTU6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQxOCIgbG9jYXRvcj0iMTU1OjU3LTE1NTo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDE3IiBsb2NhdG9yPSIxNTU6MzItMTU1OjUzIiBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MjQiIGxvY2F0b3I9IjE1NjoxLTE1Njo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWN0aW9uUmVsYXRpb25zaGlwVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MjMiIGxvY2F0b3I9IjE1Njo1Ny0xNTY6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQyMiIgbG9jYXRvcj0iMTU2OjU3LTE1Njo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIxIiBsb2NhdG9yPSIxNTY6MzItMTU2OjUzIiBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MjgiIGxvY2F0b3I9IjE1NzoxLTE1Nzo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWN0aW9uUmVxdWlyZWRCZWhhdmlvcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MjciIGxvY2F0b3I9IjE1Nzo1Ny0xNTc6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQyNiIgbG9jYXRvcj0iMTU3OjU3LTE1Nzo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDI1IiBsb2NhdG9yPSIxNTc6MzItMTU3OjUzIiBuYW1lPSJmaGlyOkFjdGlvblJlcXVpcmVkQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MzIiIGxvY2F0b3I9IjE1ODoxLTE1ODo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWN0aW9uU2VsZWN0aW9uQmVoYXZpb3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDMxIiBsb2NhdG9yPSIxNTg6NTgtMTU4OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MzAiIGxvY2F0b3I9IjE1ODo1OC0xNTg6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQyOSIgbG9jYXRvcj0iMTU4OjMyLTE1ODo1NCIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzNiIgbG9jYXRvcj0iMTU5OjEtMTU5OjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpdml0eURlZmluaXRpb25LaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzNSIgbG9jYXRvcj0iMTU5OjU3LTE1OTo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDM0IiBsb2NhdG9yPSIxNTk6NTctMTU5OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MzMiIGxvY2F0b3I9IjE1OTozMi0xNTk6NTMiIG5hbWU9ImZoaXI6QWN0aXZpdHlEZWZpbml0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0MCIgbG9jYXRvcj0iMTYwOjEtMTYwOjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDQwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BY3Rpdml0eVBhcnRpY2lwYW50VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MzkiIGxvY2F0b3I9IjE2MDo1OC0xNjA6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQzOCIgbG9jYXRvcj0iMTYwOjU4LTE2MDo2MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDM3IiBsb2NhdG9yPSIxNjA6MzItMTYwOjU0IiBuYW1lPSJmaGlyOkFjdGl2aXR5UGFydGljaXBhbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDQ0IiBsb2NhdG9yPSIxNjE6MS0xNjE6NTYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkFkZHJlc3NUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0MyIgbG9jYXRvcj0iMTYxOjQ2LTE2MTo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDQyIiBsb2NhdG9yPSIxNjE6NDYtMTYxOjUwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NDEiIGxvY2F0b3I9IjE2MTozMi0xNjE6NDIiIG5hbWU9ImZoaXI6QWRkcmVzc1R5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NDgiIGxvY2F0b3I9IjE2MjoxLTE2Mjo1NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWRkcmVzc1VzZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NDciIGxvY2F0b3I9IjE2Mjo0NS0xNjI6NTUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ0NiIgbG9jYXRvcj0iMTYyOjQ1LTE2Mjo0OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDQ1IiBsb2NhdG9yPSIxNjI6MzItMTYyOjQxIiBuYW1lPSJmaGlyOkFkZHJlc3NVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NTIiIGxvY2F0b3I9IjE2MzoxLTE2Mzo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWRtaW5pc3RyYXRpdmVHZW5kZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDUxIiBsb2NhdG9yPSIxNjM6NTUtMTYzOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NTAiIGxvY2F0b3I9IjE2Mzo1NS0xNjM6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ0OSIgbG9jYXRvcj0iMTYzOjMyLTE2Mzo1MSIgbmFtZT0iZmhpcjpBZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1NiIgbG9jYXRvcj0iMTY0OjEtMTY0OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDU2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5BZHZlcnNlRXZlbnRBY3R1YWxpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDU1IiBsb2NhdG9yPSIxNjQ6NTYtMTY0OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NTQiIGxvY2F0b3I9IjE2NDo1Ni0xNjQ6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ1MyIgbG9jYXRvcj0iMTY0OjMyLTE2NDo1MiIgbmFtZT0iZmhpcjpBZHZlcnNlRXZlbnRBY3R1YWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NjAiIGxvY2F0b3I9IjE2NToxLTE2NTo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ2MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWdncmVnYXRpb25Nb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1OSIgbG9jYXRvcj0iMTY1OjUwLTE2NTo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDU4IiBsb2NhdG9yPSIxNjU6NTAtMTY1OjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTciIGxvY2F0b3I9IjE2NTozMi0xNjU6NDYiIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDY0IiBsb2NhdG9yPSIxNjY6MS0xNjY6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NjEiPgogICAgICAgICAgICAgICAgICA8YTpzPkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ2MyIgbG9jYXRvcj0iMTY2OjYxLTE2Njo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDYyIiBsb2NhdG9yPSIxNjY6NjEtMTY2OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NjEiIGxvY2F0b3I9IjE2NjozMi0xNjY6NTciIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NjgiIGxvY2F0b3I9IjE2NzoxLTE2Nzo3NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ2OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDY3IiBsb2NhdG9yPSIxNjc6NjQtMTY3Ojc0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NjYiIGxvY2F0b3I9IjE2Nzo2NC0xNjc6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ2NSIgbG9jYXRvcj0iMTY3OjMyLTE2Nzo2MCIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ3MiIgbG9jYXRvcj0iMTY4OjEtMTY4OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDcyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzEiIGxvY2F0b3I9IjE2ODo2MS0xNjg6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ3MCIgbG9jYXRvcj0iMTY4OjYxLTE2ODo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDY5IiBsb2NhdG9yPSIxNjg6MzItMTY4OjU3IiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc2IiBsb2NhdG9yPSIxNjk6MS0xNjk6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDc1IiBsb2NhdG9yPSIxNjk6NTctMTY5OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NzQiIGxvY2F0b3I9IjE2OTo1Ny0xNjk6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ3MyIgbG9jYXRvcj0iMTY5OjMyLTE2OTo1MyIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDgwIiBsb2NhdG9yPSIxNzA6MS0xNzA6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0ODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzciPgogICAgICAgICAgICAgICAgICA8YTpzPkFwcG9pbnRtZW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ3OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3OSIgbG9jYXRvcj0iMTcwOjUyLTE3MDo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDc4IiBsb2NhdG9yPSIxNzA6NTItMTcwOjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NzciIGxvY2F0b3I9IjE3MDozMi0xNzA6NDgiIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0ODQiIGxvY2F0b3I9IjE3MToxLTE3MTo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QXNzZXJ0aW9uRGlyZWN0aW9uVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0ODMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0ODMiIGxvY2F0b3I9IjE3MTo1Ny0xNzE6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ4MiIgbG9jYXRvcj0iMTcxOjU3LTE3MTo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDgxIiBsb2NhdG9yPSIxNzE6MzItMTcxOjUzIiBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0ODgiIGxvY2F0b3I9IjE3MjoxLTE3Mjo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QXNzZXJ0aW9uT3BlcmF0b3JUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ4NyIgbG9jYXRvcj0iMTcyOjU2LTE3Mjo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIxNzI6NTYtMTcyOjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0ODUiIGxvY2F0b3I9IjE3MjozMi0xNzI6NTIiIG5hbWU9ImZoaXI6QXNzZXJ0aW9uT3BlcmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDkyIiBsb2NhdG9yPSIxNzM6MS0xNzM6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0ODkiPgogICAgICAgICAgICAgICAgICA8YTpzPkFzc2VydGlvblJlc3BvbnNlVHlwZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDkxIiBsb2NhdG9yPSIxNzM6NTctMTczOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OTAiIGxvY2F0b3I9IjE3Mzo1Ny0xNzM6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ4OSIgbG9jYXRvcj0iMTczOjMyLTE3Mzo1MyIgbmFtZT0iZmhpcjpBc3NlcnRpb25SZXNwb25zZVR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDk2IiBsb2NhdG9yPSIxNzQ6MS0xNzQ6NjEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkF1ZGl0RXZlbnRBY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDk1IiBsb2NhdG9yPSIxNzQ6NTEtMTc0OjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OTQiIGxvY2F0b3I9IjE3NDo1MS0xNzQ6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ5MyIgbG9jYXRvcj0iMTc0OjMyLTE3NDo0NyIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTAwIiBsb2NhdG9yPSIxNzU6MS0xNzU6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTciPgogICAgICAgICAgICAgICAgICA8YTpzPkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ5OSIgbG9jYXRvcj0iMTc1OjYxLTE3NTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDk4IiBsb2NhdG9yPSIxNzU6NjEtMTc1OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0OTciIGxvY2F0b3I9IjE3NTozMi0xNzU6NTciIG5hbWU9ImZoaXI6QXVkaXRFdmVudEFnZW50TmV0d29ya1R5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MDQiIGxvY2F0b3I9IjE3NjoxLTE3Njo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUwNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QXVkaXRFdmVudE91dGNvbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTAzIiBsb2NhdG9yPSIxNzY6NTItMTc2OjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MDIiIGxvY2F0b3I9IjE3Njo1Mi0xNzY6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwMSIgbG9jYXRvcj0iMTc2OjMyLTE3Njo0OCIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50T3V0Y29tZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwOCIgbG9jYXRvcj0iMTc3OjEtMTc3OjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5CaW5kaW5nU3RyZW5ndGg8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTA3IiBsb2NhdG9yPSIxNzc6NTAtMTc3OjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MDYiIGxvY2F0b3I9IjE3Nzo1MC0xNzc6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwNSIgbG9jYXRvcj0iMTc3OjMyLTE3Nzo0NiIgbmFtZT0iZmhpcjpCaW5kaW5nU3RyZW5ndGgiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTIiIGxvY2F0b3I9IjE3ODoxLTE3ODo3OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUxMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RDYXRlZ29yeTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MTEiIGxvY2F0b3I9IjE3ODo2OS0xNzg6NzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUxMCIgbG9jYXRvcj0iMTc4OjY5LTE3ODo3MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTA5IiBsb2NhdG9yPSIxNzg6MzItMTc4OjY1IiBuYW1lPSJmaGlyOkJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0Q2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTYiIGxvY2F0b3I9IjE3OToxLTE3OTo3NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTE1IiBsb2NhdG9yPSIxNzk6NjctMTc5Ojc3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MTQiIGxvY2F0b3I9IjE3OTo2Ny0xNzk6NzEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUxMyIgbG9jYXRvcj0iMTc5OjMyLTE3OTo2MyIgbmFtZT0iZmhpcjpCaW9sb2dpY2FsbHlEZXJpdmVkUHJvZHVjdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyMCIgbG9jYXRvcj0iMTgwOjEtMTgwOjgzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTIwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5CaW9sb2dpY2FsbHlEZXJpdmVkUHJvZHVjdFN0b3JhZ2VTY2FsZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MTkiIGxvY2F0b3I9IjE4MDo3My0xODA6ODMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUxOCIgbG9jYXRvcj0iMTgwOjczLTE4MDo3NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTE3IiBsb2NhdG9yPSIxODA6MzItMTgwOjY5IiBuYW1lPSJmaGlyOkJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0U3RvcmFnZVNjYWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTI0IiBsb2NhdG9yPSIxODE6MS0xODE6NTUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjEiPgogICAgICAgICAgICAgICAgICA8YTpzPkJ1bmRsZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTIzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTIzIiBsb2NhdG9yPSIxODE6NDUtMTgxOjU1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MjIiIGxvY2F0b3I9IjE4MTo0NS0xODE6NDkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUyMSIgbG9jYXRvcj0iMTgxOjMyLTE4MTo0MSIgbmFtZT0iZmhpcjpCdW5kbGVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTI4IiBsb2NhdG9yPSIxODI6MS0xODI6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICA8YTpzPkNhcGFiaWxpdHlTdGF0ZW1lbnRLaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUyNyIgbG9jYXRvcj0iMTgyOjU4LTE4Mjo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTI2IiBsb2NhdG9yPSIxODI6NTgtMTgyOjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MjUiIGxvY2F0b3I9IjE4MjozMi0xODI6NTQiIG5hbWU9ImZoaXI6Q2FwYWJpbGl0eVN0YXRlbWVudEtpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MzIiIGxvY2F0b3I9IjE4MzoxLTE4Mzo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2FyZVBsYW5BY3Rpdml0eUtpbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTMxIiBsb2NhdG9yPSIxODM6NTUtMTgzOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MzAiIGxvY2F0b3I9IjE4Mzo1NS0xODM6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUyOSIgbG9jYXRvcj0iMTgzOjMyLTE4Mzo1MSIgbmFtZT0iZmhpcjpDYXJlUGxhbkFjdGl2aXR5S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUzNiIgbG9jYXRvcj0iMTg0OjEtMTg0OjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5DYXJlUGxhbkFjdGl2aXR5U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUzNSIgbG9jYXRvcj0iMTg0OjU3LTE4NDo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTM0IiBsb2NhdG9yPSIxODQ6NTctMTg0OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MzMiIGxvY2F0b3I9IjE4NDozMi0xODQ6NTMiIG5hbWU9ImZoaXI6Q2FyZVBsYW5BY3Rpdml0eVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU0MCIgbG9jYXRvcj0iMTg1OjEtMTg1OjU5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTQwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DYXJlUGxhbkludGVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MzkiIGxvY2F0b3I9IjE4NTo0OS0xODU6NTkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUzOCIgbG9jYXRvcj0iMTg1OjQ5LTE4NTo1MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTM3IiBsb2NhdG9yPSIxODU6MzItMTg1OjQ1IiBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQ0IiBsb2NhdG9yPSIxODY6MS0xODY6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkNhcmVQbGFuU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU0MyIgbG9jYXRvcj0iMTg2OjQ5LTE4Njo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTQyIiBsb2NhdG9yPSIxODY6NDktMTg2OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NDEiIGxvY2F0b3I9IjE4NjozMi0xODY6NDUiIG5hbWU9ImZoaXI6Q2FyZVBsYW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NDgiIGxvY2F0b3I9IjE4NzoxLTE4Nzo1OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2FyZVRlYW1TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTQ3IiBsb2NhdG9yPSIxODc6NDktMTg3OjU5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NDYiIGxvY2F0b3I9IjE4Nzo0OS0xODc6NTMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU0NSIgbG9jYXRvcj0iMTg3OjMyLTE4Nzo0NSIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU1MiIgbG9jYXRvcj0iMTg4OjEtMTg4OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTUyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DYXRhbG9nRW50cnlSZWxhdGlvblR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTUxIiBsb2NhdG9yPSIxODg6NTktMTg4OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTAiIGxvY2F0b3I9IjE4ODo1OS0xODg6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU0OSIgbG9jYXRvcj0iMTg4OjMyLTE4ODo1NSIgbmFtZT0iZmhpcjpDYXRhbG9nRW50cnlSZWxhdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NTYiIGxvY2F0b3I9IjE4OToxLTE4OTo4MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU1NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2hhcmdlSXRlbURlZmluaXRpb25QcmljZUNvbXBvbmVudFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTU1IiBsb2NhdG9yPSIxODk6NzMtMTg5OjgzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTQiIGxvY2F0b3I9IjE4OTo3My0xODk6NzciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU1MyIgbG9jYXRvcj0iMTg5OjMyLTE4OTo2OSIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtRGVmaW5pdGlvblByaWNlQ29tcG9uZW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2MCIgbG9jYXRvcj0iMTkwOjEtMTkwOjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTYwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DaGFyZ2VJdGVtU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU1OSIgbG9jYXRvcj0iMTkwOjUxLTE5MDo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTU4IiBsb2NhdG9yPSIxOTA6NTEtMTkwOjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NTciIGxvY2F0b3I9IjE5MDozMi0xOTA6NDciIG5hbWU9ImZoaXI6Q2hhcmdlSXRlbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2NCIgbG9jYXRvcj0iMTkxOjEtMTkxOjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTYxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5DbGFpbVJlc3BvbnNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2MyIgbG9jYXRvcj0iMTkxOjU0LTE5MTo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTYyIiBsb2NhdG9yPSIxOTE6NTQtMTkxOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NjEiIGxvY2F0b3I9IjE5MTozMi0xOTE6NTAiIG5hbWU9ImZoaXI6Q2xhaW1SZXNwb25zZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2OCIgbG9jYXRvcj0iMTkyOjEtMTkyOjU2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTY4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DbGFpbVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjciIGxvY2F0b3I9IjE5Mjo0Ni0xOTI6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU2NiIgbG9jYXRvcj0iMTkyOjQ2LTE5Mjo1MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTY1IiBsb2NhdG9yPSIxOTI6MzItMTkyOjQyIiBuYW1lPSJmaGlyOkNsYWltU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTcyIiBsb2NhdG9yPSIxOTM6MS0xOTM6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjkiPgogICAgICAgICAgICAgICAgICA8YTpzPkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NzEiIGxvY2F0b3I9IjE5Mzo1OS0xOTM6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU3MCIgbG9jYXRvcj0iMTkzOjU5LTE5Mzo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTY5IiBsb2NhdG9yPSIxOTM6MzItMTkzOjU1IiBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU3NiIgbG9jYXRvcj0iMTk0OjEtMTk0OjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTc2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTczIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlU2VhcmNoU3VwcG9ydDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NzUiIGxvY2F0b3I9IjE5NDo1Mi0xOTQ6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU3NCIgbG9jYXRvcj0iMTk0OjUyLTE5NDo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTczIiBsb2NhdG9yPSIxOTQ6MzItMTk0OjQ4IiBuYW1lPSJmaGlyOkNvZGVTZWFyY2hTdXBwb3J0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTgwIiBsb2NhdG9yPSIxOTU6MS0xOTU6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1ODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzciPgogICAgICAgICAgICAgICAgICA8YTpzPkNvZGVTeXN0ZW1Db250ZW50TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NzkiIGxvY2F0b3I9IjE5NTo1Ni0xOTU6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU3OCIgbG9jYXRvcj0iMTk1OjU2LTE5NTo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTc3IiBsb2NhdG9yPSIxOTU6MzItMTk1OjUyIiBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4NCIgbG9jYXRvcj0iMTk2OjEtMTk2OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1ODMiIGxvY2F0b3I9IjE5Njo2MS0xOTY6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU4MiIgbG9jYXRvcj0iMTk2OjYxLTE5Njo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTgxIiBsb2NhdG9yPSIxOTY6MzItMTk2OjU3IiBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1IaWVyYXJjaHlNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTg4IiBsb2NhdG9yPSIxOTc6MS0xOTc6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1ODgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODUiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbW11bmljYXRpb25Qcmlvcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1ODciIGxvY2F0b3I9IjE5Nzo1Ni0xOTc6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU4NiIgbG9jYXRvcj0iMTk3OjU2LTE5Nzo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTg1IiBsb2NhdG9yPSIxOTc6MzItMTk3OjUyIiBuYW1lPSJmaGlyOkNvbW11bmljYXRpb25Qcmlvcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU5MiIgbG9jYXRvcj0iMTk4OjEtMTk4OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTkyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1OTEiIGxvY2F0b3I9IjE5ODo2MS0xOTg6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU5MCIgbG9jYXRvcj0iMTk4OjYxLTE5ODo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTg5IiBsb2NhdG9yPSIxOTg6MzItMTk4OjU3IiBuYW1lPSJmaGlyOkNvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTk2IiBsb2NhdG9yPSIxOTk6MS0xOTk6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1OTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbW11bmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTk1IiBsb2NhdG9yPSIxOTk6NTQtMTk5OjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1OTQiIGxvY2F0b3I9IjE5OTo1NC0xOTk6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU5MyIgbG9jYXRvcj0iMTk5OjMyLTE5OTo1MCIgbmFtZT0iZmhpcjpDb21tdW5pY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjAwIiBsb2NhdG9yPSIyMDA6MS0yMDA6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OTciPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbXBhcnRtZW50Q29kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1OTkiIGxvY2F0b3I9IjIwMDo1MC0yMDA6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU5OCIgbG9jYXRvcj0iMjAwOjUwLTIwMDo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTk3IiBsb2NhdG9yPSIyMDA6MzItMjAwOjQ2IiBuYW1lPSJmaGlyOkNvbXBhcnRtZW50Q29kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYwNCIgbG9jYXRvcj0iMjAxOjEtMjAxOjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db21wYXJ0bWVudFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjAzIiBsb2NhdG9yPSIyMDE6NTAtMjAxOjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MDIiIGxvY2F0b3I9IjIwMTo1MC0yMDE6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYwMSIgbG9jYXRvcj0iMjAxOjMyLTIwMTo0NiIgbmFtZT0iZmhpcjpDb21wYXJ0bWVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MDgiIGxvY2F0b3I9IjIwMjoxLTIwMjo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYwOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29tcG9zaXRpb25BdHRlc3RhdGlvbk1vZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjA3IiBsb2NhdG9yPSIyMDI6NjEtMjAyOjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MDYiIGxvY2F0b3I9IjIwMjo2MS0yMDI6NjUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYwNSIgbG9jYXRvcj0iMjAyOjMyLTIwMjo1NyIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYxMiIgbG9jYXRvcj0iMjAzOjEtMjAzOjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjEyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjA5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db21wb3NpdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTEiIGxvY2F0b3I9IjIwMzo1Mi0yMDM6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYxMCIgbG9jYXRvcj0iMjAzOjUyLTIwMzo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjA5IiBsb2NhdG9yPSIyMDM6MzItMjAzOjQ4IiBuYW1lPSJmaGlyOkNvbXBvc2l0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjE2IiBsb2NhdG9yPSIyMDQ6MS0yMDQ6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbmNlcHRNYXBFcXVpdmFsZW5jZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTUiIGxvY2F0b3I9IjIwNDo1Ni0yMDQ6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYxNCIgbG9jYXRvcj0iMjA0OjU2LTIwNDo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjEzIiBsb2NhdG9yPSIyMDQ6MzItMjA0OjUyIiBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYyMCIgbG9jYXRvcj0iMjA1OjEtMjA1OjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjIwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjE5IiBsb2NhdG9yPSIyMDU6NjItMjA1OjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MTgiIGxvY2F0b3I9IjIwNTo2Mi0yMDU6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYxNyIgbG9jYXRvcj0iMjA1OjMyLTIwNTo1OCIgbmFtZT0iZmhpcjpDb25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MjQiIGxvY2F0b3I9IjIwNjoxLTIwNjo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uZGl0aW9uYWxEZWxldGVTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjIzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjIzIiBsb2NhdG9yPSIyMDY6NTgtMjA2OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MjIiIGxvY2F0b3I9IjIwNjo1OC0yMDY6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYyMSIgbG9jYXRvcj0iMjA2OjMyLTIwNjo1NCIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYyOCIgbG9jYXRvcj0iMjA3OjEtMjA3OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjI4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb25hbFJlYWRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjI3IiBsb2NhdG9yPSIyMDc6NTYtMjA3OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MjYiIGxvY2F0b3I9IjIwNzo1Ni0yMDc6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYyNSIgbG9jYXRvcj0iMjA3OjMyLTIwNzo1MiIgbmFtZT0iZmhpcjpDb25kaXRpb25hbFJlYWRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MzIiIGxvY2F0b3I9IjIwODoxLTIwODo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uc2VudERhdGFNZWFuaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYzMSIgbG9jYXRvcj0iMjA4OjUzLTIwODo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjMwIiBsb2NhdG9yPSIyMDg6NTMtMjA4OjU3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MjkiIGxvY2F0b3I9IjIwODozMi0yMDg6NDkiIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjM2IiBsb2NhdG9yPSIyMDk6MS0yMDk6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbnNlbnRQcm92aXNpb25UeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYzNSIgbG9jYXRvcj0iMjA5OjU1LTIwOTo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjM0IiBsb2NhdG9yPSIyMDk6NTUtMjA5OjU5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MzMiIGxvY2F0b3I9IjIwOTozMi0yMDk6NTEiIG5hbWU9ImZoaXI6Q29uc2VudFByb3Zpc2lvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NDAiIGxvY2F0b3I9IjIxMDoxLTIxMDo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY0MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uc2VudFN0YXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjM5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYzOSIgbG9jYXRvcj0iMjEwOjQ3LTIxMDo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjM4IiBsb2NhdG9yPSIyMTA6NDctMjEwOjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MzciIGxvY2F0b3I9IjIxMDozMi0yMTA6NDMiIG5hbWU9ImZoaXI6Q29uc2VudFN0YXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQ0IiBsb2NhdG9yPSIyMTE6MS0yMTE6NjMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbnN0cmFpbnRTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NDMiIGxvY2F0b3I9IjIxMTo1My0yMTE6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY0MiIgbG9jYXRvcj0iMjExOjUzLTIxMTo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjQxIiBsb2NhdG9yPSIyMTE6MzItMjExOjQ5IiBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY0OCIgbG9jYXRvcj0iMjEyOjEtMjEyOjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db250YWN0UG9pbnRTeXN0ZW08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjQ3IiBsb2NhdG9yPSIyMTI6NTMtMjEyOjYzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NDYiIGxvY2F0b3I9IjIxMjo1My0yMTI6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY0NSIgbG9jYXRvcj0iMjEyOjMyLTIxMjo0OSIgbmFtZT0iZmhpcjpDb250YWN0UG9pbnRTeXN0ZW0iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NTIiIGxvY2F0b3I9IjIxMzoxLTIxMzo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29udGFjdFBvaW50VXNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY1MSIgbG9jYXRvcj0iMjEzOjUwLTIxMzo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjUwIiBsb2NhdG9yPSIyMTM6NTAtMjEzOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NDkiIGxvY2F0b3I9IjIxMzozMi0yMTM6NDYiIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjU2IiBsb2NhdG9yPSIyMTQ6MS0yMTQ6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbnRyYWN0UHVibGljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjU1IiBsb2NhdG9yPSIyMTQ6NjAtMjE0OjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NTQiIGxvY2F0b3I9IjIxNDo2MC0yMTQ6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY1MyIgbG9jYXRvcj0iMjE0OjMyLTIxNDo1NiIgbmFtZT0iZmhpcjpDb250cmFjdFB1YmxpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjYwIiBsb2NhdG9yPSIyMTU6MS0yMTU6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NTciPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbnRyYWN0U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY1OSIgbG9jYXRvcj0iMjE1OjQ5LTIxNTo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjU4IiBsb2NhdG9yPSIyMTU6NDktMjE1OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NTciIGxvY2F0b3I9IjIxNTozMi0yMTU6NDUiIG5hbWU9ImZoaXI6Q29udHJhY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NjQiIGxvY2F0b3I9IjIxNjoxLTIxNjo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY2NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29udHJpYnV0b3JUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY2MyIgbG9jYXRvcj0iMjE2OjUwLTIxNjo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjYyIiBsb2NhdG9yPSIyMTY6NTAtMjE2OjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NjEiIGxvY2F0b3I9IjIxNjozMi0yMTY6NDYiIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjY4IiBsb2NhdG9yPSIyMTc6MS0yMTc6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NjUiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvdmVyYWdlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY2NyIgbG9jYXRvcj0iMjE3OjQ5LTIxNzo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjY2IiBsb2NhdG9yPSIyMTc6NDktMjE3OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NjUiIGxvY2F0b3I9IjIxNzozMi0yMTc6NDUiIG5hbWU9ImZoaXI6Q292ZXJhZ2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NzIiIGxvY2F0b3I9IjIxODoxLTIxODo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q3VycmVuY3lDb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY3MSIgbG9jYXRvcj0iMjE4OjQ3LTIxODo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjcwIiBsb2NhdG9yPSIyMTg6NDctMjE4OjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NjkiIGxvY2F0b3I9IjIxODozMi0yMTg6NDMiIG5hbWU9ImZoaXI6Q3VycmVuY3lDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjc2IiBsb2NhdG9yPSIyMTk6MS0yMTk6NTQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkRheU9mV2VlazwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NzUiIGxvY2F0b3I9IjIxOTo0NC0yMTk6NTQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY3NCIgbG9jYXRvcj0iMjE5OjQ0LTIxOTo0OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjczIiBsb2NhdG9yPSIyMTk6MzItMjE5OjQwIiBuYW1lPSJmaGlyOkRheU9mV2VlayIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY4MCIgbG9jYXRvcj0iMjIwOjEtMjIwOjU1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjgwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXlzT2ZXZWVrPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY3OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY3OSIgbG9jYXRvcj0iMjIwOjQ1LTIyMDo1NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjc4IiBsb2NhdG9yPSIyMjA6NDUtMjIwOjQ5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NzciIGxvY2F0b3I9IjIyMDozMi0yMjA6NDEiIG5hbWU9ImZoaXI6RGF5c09mV2VlayIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY4NCIgbG9jYXRvcj0iMjIxOjEtMjIxOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5EZXRlY3RlZElzc3VlU2V2ZXJpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2ODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjgzIiBsb2NhdG9yPSIyMjE6NTYtMjIxOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2ODIiIGxvY2F0b3I9IjIyMTo1Ni0yMjE6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY4MSIgbG9jYXRvcj0iMjIxOjMyLTIyMTo1MiIgbmFtZT0iZmhpcjpEZXRlY3RlZElzc3VlU2V2ZXJpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2ODgiIGxvY2F0b3I9IjIyMjoxLTIyMjo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY4OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV0ZWN0ZWRJc3N1ZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2ODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2ODciIGxvY2F0b3I9IjIyMjo1NC0yMjI6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY4NiIgbG9jYXRvcj0iMjIyOjU0LTIyMjo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjg1IiBsb2NhdG9yPSIyMjI6MzItMjIyOjUwIiBuYW1lPSJmaGlyOkRldGVjdGVkSXNzdWVTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2OTIiIGxvY2F0b3I9IjIyMzoxLTIyMzo3MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY5MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY4OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2OTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2OTEiIGxvY2F0b3I9IjIyMzo2My0yMjM6NzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY5MCIgbG9jYXRvcj0iMjIzOjYzLTIyMzo2NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjg5IiBsb2NhdG9yPSIyMjM6MzItMjIzOjU5IiBuYW1lPSJmaGlyOkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2OTYiIGxvY2F0b3I9IjIyNDoxLTIyNDo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY5NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY5MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY5NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjk1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY5NSIgbG9jYXRvcj0iMjI0OjYyLTIyNDo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjk0IiBsb2NhdG9yPSIyMjQ6NjItMjI0OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2OTMiIGxvY2F0b3I9IjIyNDozMi0yMjQ6NTgiIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzAwIiBsb2NhdG9yPSIyMjU6MS0yMjU6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2OTciPgogICAgICAgICAgICAgICAgICA8YTpzPkRldmljZU1ldHJpY0NhdGVnb3J5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY5OSIgbG9jYXRvcj0iMjI1OjU1LTIyNTo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjk4IiBsb2NhdG9yPSIyMjU6NTUtMjI1OjU5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2OTciIGxvY2F0b3I9IjIyNTozMi0yMjU6NTEiIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MDQiIGxvY2F0b3I9IjIyNjoxLTIyNjo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcwNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV2aWNlTWV0cmljQ29sb3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzAzIiBsb2NhdG9yPSIyMjY6NTItMjI2OjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MDIiIGxvY2F0b3I9IjIyNjo1Mi0yMjY6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcwMSIgbG9jYXRvcj0iMjI2OjMyLTIyNjo0OCIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNDb2xvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjcwOCIgbG9jYXRvcj0iMjI3OjEtMjI3Ojc0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MDciIGxvY2F0b3I9IjIyNzo2NC0yMjc6NzQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjcwNiIgbG9jYXRvcj0iMjI3OjY0LTIyNzo2OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzA1IiBsb2NhdG9yPSIyMjc6MzItMjI3OjYwIiBuYW1lPSJmaGlyOkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzEyIiBsb2NhdG9yPSIyMjg6MS0yMjg6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MDkiPgogICAgICAgICAgICAgICAgICA8YTpzPkRldmljZU5hbWVUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcxMSIgbG9jYXRvcj0iMjI4OjQ5LTIyODo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzEwIiBsb2NhdG9yPSIyMjg6NDktMjI4OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3MDkiIGxvY2F0b3I9IjIyODozMi0yMjg6NDUiIG5hbWU9ImZoaXI6RGV2aWNlTmFtZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MTYiIGxvY2F0b3I9IjIyOToxLTIyOTo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV2aWNlUmVxdWVzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MTUiIGxvY2F0b3I9IjIyOTo1NC0yMjk6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjcxNCIgbG9jYXRvcj0iMjI5OjU0LTIyOTo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzEzIiBsb2NhdG9yPSIyMjk6MzItMjI5OjUwIiBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MjAiIGxvY2F0b3I9IjIzMDoxLTIzMDo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcxOSIgbG9jYXRvcj0iMjMwOjU5LTIzMDo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzE4IiBsb2NhdG9yPSIyMzA6NTktMjMwOjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3MTciIGxvY2F0b3I9IjIzMDozMi0yMzA6NTUiIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzI0IiBsb2NhdG9yPSIyMzE6MS0yMzE6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MjEiPgogICAgICAgICAgICAgICAgICA8YTpzPkRpYWdub3N0aWNSZXBvcnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzIzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzIzIiBsb2NhdG9yPSIyMzE6NTctMjMxOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MjIiIGxvY2F0b3I9IjIzMTo1Ny0yMzE6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcyMSIgbG9jYXRvcj0iMjMxOjMyLTIzMTo1MyIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzI4IiBsb2NhdG9yPSIyMzI6MS0yMzI6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MjUiPgogICAgICAgICAgICAgICAgICA8YTpzPkRpc2NyaW1pbmF0b3JUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcyNyIgbG9jYXRvcj0iMjMyOjUyLTIzMjo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzI2IiBsb2NhdG9yPSIyMzI6NTItMjMyOjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3MjUiIGxvY2F0b3I9IjIzMjozMi0yMzI6NDgiIG5hbWU9ImZoaXI6RGlzY3JpbWluYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MzIiIGxvY2F0b3I9IjIzMzoxLTIzMzo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjczMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9jdW1lbnRDb25maWRlbnRpYWxpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzMxIiBsb2NhdG9yPSIyMzM6NTgtMjMzOjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MzAiIGxvY2F0b3I9IjIzMzo1OC0yMzM6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcyOSIgbG9jYXRvcj0iMjMzOjMyLTIzMzo1NCIgbmFtZT0iZmhpcjpEb2N1bWVudENvbmZpZGVudGlhbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjczNiIgbG9jYXRvcj0iMjM0OjEtMjM0OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb2N1bWVudE1vZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzM1IiBsb2NhdG9yPSIyMzQ6NDctMjM0OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MzQiIGxvY2F0b3I9IjIzNDo0Ny0yMzQ6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjczMyIgbG9jYXRvcj0iMjM0OjMyLTIzNDo0MyIgbmFtZT0iZmhpcjpEb2N1bWVudE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NDAiIGxvY2F0b3I9IjIzNToxLTIzNTo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc0MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjczNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzM5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzM5IiBsb2NhdG9yPSIyMzU6NTgtMjM1OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MzgiIGxvY2F0b3I9IjIzNTo1OC0yMzU6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjczNyIgbG9jYXRvcj0iMjM1OjMyLTIzNTo1NCIgbmFtZT0iZmhpcjpEb2N1bWVudFJlZmVyZW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc0NCIgbG9jYXRvcj0iMjM2OjEtMjM2OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzQ0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzQxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzQzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzQzIiBsb2NhdG9yPSIyMzY6NTktMjM2OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NDIiIGxvY2F0b3I9IjIzNjo1OS0yMzY6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc0MSIgbG9jYXRvcj0iMjM2OjMyLTIzNjo1NSIgbmFtZT0iZmhpcjpEb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NDgiIGxvY2F0b3I9IjIzNzoxLTIzNzo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxpZ2liaWxpdHlSZXF1ZXN0UHVycG9zZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NDciIGxvY2F0b3I9IjIzNzo2MC0yMzc6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc0NiIgbG9jYXRvcj0iMjM3OjYwLTIzNzo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzQ1IiBsb2NhdG9yPSIyMzc6MzItMjM3OjU2IiBuYW1lPSJmaGlyOkVsaWdpYmlsaXR5UmVxdWVzdFB1cnBvc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NTIiIGxvY2F0b3I9IjIzODoxLTIzODo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc1MSIgbG9jYXRvcj0iMjM4OjU5LTIzODo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzUwIiBsb2NhdG9yPSIyMzg6NTktMjM4OjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NDkiIGxvY2F0b3I9IjIzODozMi0yMzg6NTUiIG5hbWU9ImZoaXI6RWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzU2IiBsb2NhdG9yPSIyMzk6MS0yMzk6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsaWdpYmlsaXR5UmVzcG9uc2VQdXJwb3NlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc1NSIgbG9jYXRvcj0iMjM5OjYxLTIzOTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzU0IiBsb2NhdG9yPSIyMzk6NjEtMjM5OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NTMiIGxvY2F0b3I9IjIzOTozMi0yMzk6NTciIG5hbWU9ImZoaXI6RWxpZ2liaWxpdHlSZXNwb25zZVB1cnBvc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NjAiIGxvY2F0b3I9IjI0MDoxLTI0MDo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc2MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxpZ2liaWxpdHlSZXNwb25zZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NTkiIGxvY2F0b3I9IjI0MDo2MC0yNDA6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc1OCIgbG9jYXRvcj0iMjQwOjYwLTI0MDo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzU3IiBsb2NhdG9yPSIyNDA6MzItMjQwOjU2IiBuYW1lPSJmaGlyOkVsaWdpYmlsaXR5UmVzcG9uc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NjQiIGxvY2F0b3I9IjI0MToxLTI0MTo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc2NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RW5hYmxlV2hlbkJlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc2MyIgbG9jYXRvcj0iMjQxOjUzLTI0MTo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzYyIiBsb2NhdG9yPSIyNDE6NTMtMjQxOjU3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NjEiIGxvY2F0b3I9IjI0MTozMi0yNDE6NDkiIG5hbWU9ImZoaXI6RW5hYmxlV2hlbkJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzY4IiBsb2NhdG9yPSIyNDI6MS0yNDI6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NjUiPgogICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlckxvY2F0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc2NyIgbG9jYXRvcj0iMjQyOjU4LTI0Mjo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzY2IiBsb2NhdG9yPSIyNDI6NTgtMjQyOjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NjUiIGxvY2F0b3I9IjI0MjozMi0yNDI6NTQiIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NzIiIGxvY2F0b3I9IjI0MzoxLTI0Mzo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc3MSIgbG9jYXRvcj0iMjQzOjUwLTI0Mzo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzcwIiBsb2NhdG9yPSIyNDM6NTAtMjQzOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NjkiIGxvY2F0b3I9IjI0MzozMi0yNDM6NDYiIG5hbWU9ImZoaXI6RW5jb3VudGVyU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzc2IiBsb2NhdG9yPSIyNDQ6MS0yNDQ6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkVuZHBvaW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc3NSIgbG9jYXRvcj0iMjQ0OjQ5LTI0NDo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzc0IiBsb2NhdG9yPSIyNDQ6NDktMjQ0OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NzMiIGxvY2F0b3I9IjI0NDozMi0yNDQ6NDUiIG5hbWU9ImZoaXI6RW5kcG9pbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3ODAiIGxvY2F0b3I9IjI0NToxLTI0NTo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc3NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RW5yb2xsbWVudFJlcXVlc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzc5IiBsb2NhdG9yPSIyNDU6NTgtMjQ1OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NzgiIGxvY2F0b3I9IjI0NTo1OC0yNDU6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc3NyIgbG9jYXRvcj0iMjQ1OjMyLTI0NTo1NCIgbmFtZT0iZmhpcjpFbnJvbGxtZW50UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc4NCIgbG9jYXRvcj0iMjQ2OjEtMjQ2OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5FbnJvbGxtZW50UmVzcG9uc2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3ODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzgzIiBsb2NhdG9yPSIyNDY6NTktMjQ2OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3ODIiIGxvY2F0b3I9IjI0Njo1OS0yNDY6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc4MSIgbG9jYXRvcj0iMjQ2OjMyLTI0Njo1NSIgbmFtZT0iZmhpcjpFbnJvbGxtZW50UmVzcG9uc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3ODgiIGxvY2F0b3I9IjI0NzoxLTI0Nzo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RXBpc29kZU9mQ2FyZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3ODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3ODciIGxvY2F0b3I9IjI0Nzo1NC0yNDc6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc4NiIgbG9jYXRvcj0iMjQ3OjU0LTI0Nzo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzg1IiBsb2NhdG9yPSIyNDc6MzItMjQ3OjUwIiBuYW1lPSJmaGlyOkVwaXNvZGVPZkNhcmVTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3OTIiIGxvY2F0b3I9IjI0ODoxLTI0ODo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc5MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc4OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RXZlbnRDYXBhYmlsaXR5TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3OTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3OTEiIGxvY2F0b3I9IjI0ODo1NC0yNDg6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc5MCIgbG9jYXRvcj0iMjQ4OjU0LTI0ODo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzg5IiBsb2NhdG9yPSIyNDg6MzItMjQ4OjUwIiBuYW1lPSJmaGlyOkV2ZW50Q2FwYWJpbGl0eU1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3OTYiIGxvY2F0b3I9IjI0OToxLTI0OTo1NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc5NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc5MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RXZlbnRUaW1pbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzk1IiBsb2NhdG9yPSIyNDk6NDYtMjQ5OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OTQiIGxvY2F0b3I9IjI0OTo0Ni0yNDk6NTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc5MyIgbG9jYXRvcj0iMjQ5OjMyLTI0OTo0MiIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgwMCIgbG9jYXRvcj0iMjUwOjEtMjUwOjY1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5FdmlkZW5jZVZhcmlhYmxlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3OTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3OTkiIGxvY2F0b3I9IjI1MDo1NS0yNTA6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc5OCIgbG9jYXRvcj0iMjUwOjU1LTI1MDo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzk3IiBsb2NhdG9yPSIyNTA6MzItMjUwOjUxIiBuYW1lPSJmaGlyOkV2aWRlbmNlVmFyaWFibGVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODA0IiBsb2NhdG9yPSIyNTE6MS0yNTE6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkV4YW1wbGVTY2VuYXJpb0FjdG9yVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MDMiIGxvY2F0b3I9IjI1MTo1OS0yNTE6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgwMiIgbG9jYXRvcj0iMjUxOjU5LTI1MTo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODAxIiBsb2NhdG9yPSIyNTE6MzItMjUxOjU1IiBuYW1lPSJmaGlyOkV4YW1wbGVTY2VuYXJpb0FjdG9yVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgwOCIgbG9jYXRvcj0iMjUyOjEtMjUyOjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MDciIGxvY2F0b3I9IjI1Mjo2MS0yNTI6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgwNiIgbG9jYXRvcj0iMjUyOjYxLTI1Mjo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODA1IiBsb2NhdG9yPSIyNTI6MzItMjUyOjU3IiBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODEyIiBsb2NhdG9yPSIyNTM6MS0yNTM6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDkiPgogICAgICAgICAgICAgICAgICA8YTpzPkV4cG9zdXJlU3RhdGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODExIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODExIiBsb2NhdG9yPSIyNTM6NDgtMjUzOjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MTAiIGxvY2F0b3I9IjI1Mzo0OC0yNTM6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgwOSIgbG9jYXRvcj0iMjUzOjMyLTI1Mzo0NCIgbmFtZT0iZmhpcjpFeHBvc3VyZVN0YXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODE2IiBsb2NhdG9yPSIyNTQ6MS0yNTQ6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MTMiPgogICAgICAgICAgICAgICAgICA8YTpzPkV4dGVuc2lvbkNvbnRleHRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgxNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgxNSIgbG9jYXRvcj0iMjU0OjU1LTI1NDo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODE0IiBsb2NhdG9yPSIyNTQ6NTUtMjU0OjU5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MTMiIGxvY2F0b3I9IjI1NDozMi0yNTQ6NTEiIG5hbWU9ImZoaXI6RXh0ZW5zaW9uQ29udGV4dFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MjAiIGxvY2F0b3I9IjI1NToxLTI1NTo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkFsbFR5cGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgxOSIgbG9jYXRvcj0iMjU1OjQ3LTI1NTo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODE4IiBsb2NhdG9yPSIyNTU6NDctMjU1OjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MTciIGxvY2F0b3I9IjI1NTozMi0yNTU6NDMiIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODI0IiBsb2NhdG9yPSIyNTY6MS0yNTY6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MjEiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJEZWZpbmVkVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MjMiIGxvY2F0b3I9IjI1Njo1MC0yNTY6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgyMiIgbG9jYXRvcj0iMjU2OjUwLTI1Njo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODIxIiBsb2NhdG9yPSIyNTY6MzItMjU2OjQ2IiBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgyOCIgbG9jYXRvcj0iMjU3OjEtMjU3OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODI4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSRGV2aWNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgyNyIgbG9jYXRvcj0iMjU3OjUxLTI1Nzo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODI2IiBsb2NhdG9yPSIyNTc6NTEtMjU3OjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MjUiIGxvY2F0b3I9IjI1NzozMi0yNTc6NDciIG5hbWU9ImZoaXI6RkhJUkRldmljZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgzMiIgbG9jYXRvcj0iMjU4OjEtMjU4OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODMyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODI5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSUmVzb3VyY2VUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgzMSIgbG9jYXRvcj0iMjU4OjUxLTI1ODo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODMwIiBsb2NhdG9yPSIyNTg6NTEtMjU4OjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MjkiIGxvY2F0b3I9IjI1ODozMi0yNTg6NDciIG5hbWU9ImZoaXI6RkhJUlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgzNiIgbG9jYXRvcj0iMjU5OjEtMjU5OjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSU3Vic3RhbmNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgzNSIgbG9jYXRvcj0iMjU5OjU0LTI1OTo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODM0IiBsb2NhdG9yPSIyNTk6NTQtMjU5OjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MzMiIGxvY2F0b3I9IjI1OTozMi0yNTk6NTAiIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg0MCIgbG9jYXRvcj0iMjYwOjEtMjYwOjU2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODQwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSVmVyc2lvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MzkiIGxvY2F0b3I9IjI2MDo0Ni0yNjA6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgzOCIgbG9jYXRvcj0iMjYwOjQ2LTI2MDo1MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODM3IiBsb2NhdG9yPSIyNjA6MzItMjYwOjQyIiBuYW1lPSJmaGlyOkZISVJWZXJzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODQ0IiBsb2NhdG9yPSIyNjE6MS0yNjE6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkZhbWlseUhpc3RvcnlTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODQzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODQzIiBsb2NhdG9yPSIyNjE6NTQtMjYxOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NDIiIGxvY2F0b3I9IjI2MTo1NC0yNjE6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg0MSIgbG9jYXRvcj0iMjYxOjMyLTI2MTo1MCIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODQ4IiBsb2NhdG9yPSIyNjI6MS0yNjI6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NDgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NDUiPgogICAgICAgICAgICAgICAgICA8YTpzPkZpbHRlck9wZXJhdG9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg0NyIgbG9jYXRvcj0iMjYyOjQ5LTI2Mjo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODQ2IiBsb2NhdG9yPSIyNjI6NDktMjYyOjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NDUiIGxvY2F0b3I9IjI2MjozMi0yNjI6NDUiIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NTIiIGxvY2F0b3I9IjI2MzoxLTI2Mzo1NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RmxhZ1N0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NTEiIGxvY2F0b3I9IjI2Mzo0NS0yNjM6NTUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg1MCIgbG9jYXRvcj0iMjYzOjQ1LTI2Mzo0OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODQ5IiBsb2NhdG9yPSIyNjM6MzItMjYzOjQxIiBuYW1lPSJmaGlyOkZsYWdTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NTYiIGxvY2F0b3I9IjI2NDoxLTI2NDo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+R29hbExpZmVjeWNsZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NTUiIGxvY2F0b3I9IjI2NDo1NC0yNjQ6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg1NCIgbG9jYXRvcj0iMjY0OjU0LTI2NDo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODUzIiBsb2NhdG9yPSIyNjQ6MzItMjY0OjUwIiBuYW1lPSJmaGlyOkdvYWxMaWZlY3ljbGVTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NjAiIGxvY2F0b3I9IjI2NToxLTI2NTo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg2MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+R3JhcGhDb21wYXJ0bWVudFJ1bGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODU5IiBsb2NhdG9yPSIyNjU6NTUtMjY1OjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NTgiIGxvY2F0b3I9IjI2NTo1NS0yNjU6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg1NyIgbG9jYXRvcj0iMjY1OjMyLTI2NTo1MSIgbmFtZT0iZmhpcjpHcmFwaENvbXBhcnRtZW50UnVsZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg2NCIgbG9jYXRvcj0iMjY2OjEtMjY2OjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODYxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5HcmFwaENvbXBhcnRtZW50VXNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2MyIgbG9jYXRvcj0iMjY2OjU0LTI2Njo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODYyIiBsb2NhdG9yPSIyNjY6NTQtMjY2OjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NjEiIGxvY2F0b3I9IjI2NjozMi0yNjY6NTAiIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg2OCIgbG9jYXRvcj0iMjY3OjEtMjY3OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODY4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Hcm91cE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODY3IiBsb2NhdG9yPSIyNjc6NDctMjY3OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NjYiIGxvY2F0b3I9IjI2Nzo0Ny0yNjc6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg2NSIgbG9jYXRvcj0iMjY3OjMyLTI2Nzo0MyIgbmFtZT0iZmhpcjpHcm91cE1lYXN1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NzIiIGxvY2F0b3I9IjI2ODoxLTI2ODo1NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+R3JvdXBUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg3MSIgbG9jYXRvcj0iMjY4OjQ0LTI2ODo1NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODcwIiBsb2NhdG9yPSIyNjg6NDQtMjY4OjQ4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NjkiIGxvY2F0b3I9IjI2ODozMi0yNjg6NDAiIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODc2IiBsb2NhdG9yPSIyNjk6MS0yNjk6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkd1aWRhbmNlUmVzcG9uc2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODc1IiBsb2NhdG9yPSIyNjk6NTctMjY5OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NzQiIGxvY2F0b3I9IjI2OTo1Ny0yNjk6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg3MyIgbG9jYXRvcj0iMjY5OjMyLTI2OTo1MyIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODgwIiBsb2NhdG9yPSIyNzA6MS0yNzA6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4ODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NzciPgogICAgICAgICAgICAgICAgICA8YTpzPkd1aWRlUGFnZUdlbmVyYXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODc5IiBsb2NhdG9yPSIyNzA6NTQtMjcwOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NzgiIGxvY2F0b3I9IjI3MDo1NC0yNzA6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg3NyIgbG9jYXRvcj0iMjcwOjMyLTI3MDo1MCIgbmFtZT0iZmhpcjpHdWlkZVBhZ2VHZW5lcmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODg0IiBsb2NhdG9yPSIyNzE6MS0yNzE6NjMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4ODQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4ODEiPgogICAgICAgICAgICAgICAgICA8YTpzPkd1aWRlUGFyYW1ldGVyQ29kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4ODMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4ODMiIGxvY2F0b3I9IjI3MTo1My0yNzE6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg4MiIgbG9jYXRvcj0iMjcxOjUzLTI3MTo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODgxIiBsb2NhdG9yPSIyNzE6MzItMjcxOjQ5IiBuYW1lPSJmaGlyOkd1aWRlUGFyYW1ldGVyQ29kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg4OCIgbG9jYXRvcj0iMjcyOjEtMjcyOjUzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODg4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5IVFRQVmVyYjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4ODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4ODciIGxvY2F0b3I9IjI3Mjo0My0yNzI6NTMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg4NiIgbG9jYXRvcj0iMjcyOjQzLTI3Mjo0NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODg1IiBsb2NhdG9yPSIyNzI6MzItMjcyOjM5IiBuYW1lPSJmaGlyOkhUVFBWZXJiIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODkyIiBsb2NhdG9yPSIyNzM6MS0yNzM6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4OTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4ODkiPgogICAgICAgICAgICAgICAgICA8YTpzPklkZW50aWZpZXJVc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODkxIiBsb2NhdG9yPSIyNzM6NDgtMjczOjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4OTAiIGxvY2F0b3I9IjI3Mzo0OC0yNzM6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg4OSIgbG9jYXRvcj0iMjczOjMyLTI3Mzo0NCIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODk2IiBsb2NhdG9yPSIyNzQ6MS0yNzQ6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4OTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTMiPgogICAgICAgICAgICAgICAgICA8YTpzPklkZW50aXR5QXNzdXJhbmNlTGV2ZWw8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODk1IiBsb2NhdG9yPSIyNzQ6NTctMjc0OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4OTQiIGxvY2F0b3I9IjI3NDo1Ny0yNzQ6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg5MyIgbG9jYXRvcj0iMjc0OjMyLTI3NDo1MyIgbmFtZT0iZmhpcjpJZGVudGl0eUFzc3VyYW5jZUxldmVsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTAwIiBsb2NhdG9yPSIyNzU6MS0yNzU6NjMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTciPgogICAgICAgICAgICAgICAgICA8YTpzPkltYWdpbmdTdHVkeVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OTkiIGxvY2F0b3I9IjI3NTo1My0yNzU6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg5OCIgbG9jYXRvcj0iMjc1OjUzLTI3NTo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODk3IiBsb2NhdG9yPSIyNzU6MzItMjc1OjQ5IiBuYW1lPSJmaGlyOkltYWdpbmdTdHVkeVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkwNCIgbG9jYXRvcj0iMjc2OjEtMjc2OjczIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkwMyIgbG9jYXRvcj0iMjc2OjYzLTI3Njo3MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTAyIiBsb2NhdG9yPSIyNzY6NjMtMjc2OjY3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MDEiIGxvY2F0b3I9IjI3NjozMi0yNzY6NTkiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uRXZhbHVhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkwOCIgbG9jYXRvcj0iMjc3OjEtMjc3OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5JbW11bml6YXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTA3IiBsb2NhdG9yPSIyNzc6NTMtMjc3OjYzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5MDYiIGxvY2F0b3I9IjI3Nzo1My0yNzc6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkwNSIgbG9jYXRvcj0iMjc3OjMyLTI3Nzo0OSIgbmFtZT0iZmhpcjpJbW11bml6YXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MTIiIGxvY2F0b3I9IjI3ODoxLTI3ODo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkxMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW52b2ljZVByaWNlQ29tcG9uZW50VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MTEiIGxvY2F0b3I9IjI3ODo2MC0yNzg6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxMCIgbG9jYXRvcj0iMjc4OjYwLTI3ODo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTA5IiBsb2NhdG9yPSIyNzg6MzItMjc4OjU2IiBuYW1lPSJmaGlyOkludm9pY2VQcmljZUNvbXBvbmVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MTYiIGxvY2F0b3I9IjI3OToxLTI3OTo1OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW52b2ljZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MTUiIGxvY2F0b3I9IjI3OTo0OC0yNzk6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxNCIgbG9jYXRvcj0iMjc5OjQ4LTI3OTo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTEzIiBsb2NhdG9yPSIyNzk6MzItMjc5OjQ0IiBuYW1lPSJmaGlyOkludm9pY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MjAiIGxvY2F0b3I9IjI4MDoxLTI4MDo1OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SXNzdWVTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MTkiIGxvY2F0b3I9IjI4MDo0OC0yODA6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxOCIgbG9jYXRvcj0iMjgwOjQ4LTI4MDo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTE3IiBsb2NhdG9yPSIyODA6MzItMjgwOjQ0IiBuYW1lPSJmaGlyOklzc3VlU2V2ZXJpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MjQiIGxvY2F0b3I9IjI4MToxLTI4MTo1NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SXNzdWVUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkyMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkyMyIgbG9jYXRvcj0iMjgxOjQ0LTI4MTo1NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTIyIiBsb2NhdG9yPSIyODE6NDQtMjgxOjQ4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MjEiIGxvY2F0b3I9IjI4MTozMi0yODE6NDAiIG5hbWU9ImZoaXI6SXNzdWVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTI4IiBsb2NhdG9yPSIyODI6MS0yODI6NTMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MjUiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpbmtUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkyNyIgbG9jYXRvcj0iMjgyOjQzLTI4Mjo1MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTI2IiBsb2NhdG9yPSIyODI6NDMtMjgyOjQ3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MjUiIGxvY2F0b3I9IjI4MjozMi0yODI6MzkiIG5hbWU9ImZoaXI6TGlua1R5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MzIiIGxvY2F0b3I9IjI4MzoxLTI4Mzo1NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlua2FnZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTMxIiBsb2NhdG9yPSIyODM6NDYtMjgzOjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5MzAiIGxvY2F0b3I9IjI4Mzo0Ni0yODM6NTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkyOSIgbG9jYXRvcj0iMjgzOjMyLTI4Mzo0MiIgbmFtZT0iZmhpcjpMaW5rYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkzNiIgbG9jYXRvcj0iMjg0OjEtMjg0OjUzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MzUiIGxvY2F0b3I9IjI4NDo0My0yODQ6NTMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkzNCIgbG9jYXRvcj0iMjg0OjQzLTI4NDo0NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTMzIiBsb2NhdG9yPSIyODQ6MzItMjg0OjM5IiBuYW1lPSJmaGlyOkxpc3RNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTQwIiBsb2NhdG9yPSIyODU6MS0yODU6NTUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MzciPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTM5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTM5IiBsb2NhdG9yPSIyODU6NDUtMjg1OjU1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5MzgiIGxvY2F0b3I9IjI4NTo0NS0yODU6NDkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkzNyIgbG9jYXRvcj0iMjg1OjMyLTI4NTo0MSIgbmFtZT0iZmhpcjpMaXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTQ0IiBsb2NhdG9yPSIyODY6MS0yODY6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkxvY2F0aW9uTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5NDMiIGxvY2F0b3I9IjI4Njo0Ny0yODY6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijk0MiIgbG9jYXRvcj0iMjg2OjQ3LTI4Njo1MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTQxIiBsb2NhdG9yPSIyODY6MzItMjg2OjQzIiBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk0OCIgbG9jYXRvcj0iMjg3OjEtMjg3OjU5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Mb2NhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5NDciIGxvY2F0b3I9IjI4Nzo0OS0yODc6NTkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijk0NiIgbG9jYXRvcj0iMjg3OjQ5LTI4Nzo1MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTQ1IiBsb2NhdG9yPSIyODc6MzItMjg3OjQ1IiBuYW1lPSJmaGlyOkxvY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTUyIiBsb2NhdG9yPSIyODg6MS0yODg6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NDkiPgogICAgICAgICAgICAgICAgICA8YTpzPk1lYXN1cmVSZXBvcnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTUxIiBsb2NhdG9yPSIyODg6NTQtMjg4OjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NTAiIGxvY2F0b3I9IjI4ODo1NC0yODg6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk0OSIgbG9jYXRvcj0iMjg4OjMyLTI4ODo1MCIgbmFtZT0iZmhpcjpNZWFzdXJlUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTU2IiBsb2NhdG9yPSIyODk6MS0yODk6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NTMiPgogICAgICAgICAgICAgICAgICA8YTpzPk1lYXN1cmVSZXBvcnRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk1NSIgbG9jYXRvcj0iMjg5OjUyLTI4OTo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTU0IiBsb2NhdG9yPSIyODk6NTItMjg5OjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5NTMiIGxvY2F0b3I9IjI4OTozMi0yODk6NDgiIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5NjAiIGxvY2F0b3I9IjI5MDoxLTI5MDo1NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk2MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWVkaWFTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTU5IiBsb2NhdG9yPSIyOTA6NDYtMjkwOjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NTgiIGxvY2F0b3I9IjI5MDo0Ni0yOTA6NTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk1NyIgbG9jYXRvcj0iMjkwOjMyLTI5MDo0MiIgbmFtZT0iZmhpcjpNZWRpYVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk2NCIgbG9jYXRvcj0iMjkxOjEtMjkxOjc1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTYxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTYzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTYzIiBsb2NhdG9yPSIyOTE6NjUtMjkxOjc1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NjIiIGxvY2F0b3I9IjI5MTo2NS0yOTE6NjkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk2MSIgbG9jYXRvcj0iMjkxOjMyLTI5MTo2MSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5NjgiIGxvY2F0b3I9IjI5MjoxLTI5Mjo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk2OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk2NyIgbG9jYXRvcj0iMjkyOjU5LTI5Mjo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTY2IiBsb2NhdG9yPSIyOTI6NTktMjkyOjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5NjUiIGxvY2F0b3I9IjI5MjozMi0yOTI6NTUiIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTcyIiBsb2NhdG9yPSIyOTM6MS0yOTM6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NjkiPgogICAgICAgICAgICAgICAgICA8YTpzPk1lZGljYXRpb25Lbm93bGVkZ2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTcxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTcxIiBsb2NhdG9yPSIyOTM6NjAtMjkzOjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NzAiIGxvY2F0b3I9IjI5Mzo2MC0yOTM6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk2OSIgbG9jYXRvcj0iMjkzOjMyLTI5Mzo1NiIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uS25vd2xlZGdlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTc2IiBsb2NhdG9yPSIyOTQ6MS0yOTQ6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NzMiPgogICAgICAgICAgICAgICAgICA8YTpzPk1lZGljYXRpb25SZXF1ZXN0SW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk3NSIgbG9jYXRvcj0iMjk0OjU4LTI5NDo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTc0IiBsb2NhdG9yPSIyOTQ6NTgtMjk0OjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5NzMiIGxvY2F0b3I9IjI5NDozMi0yOTQ6NTQiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3RJbnRlbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5ODAiIGxvY2F0b3I9IjI5NToxLTI5NTo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk4MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk3NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5NzkiIGxvY2F0b3I9IjI5NTo2MC0yOTU6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijk3OCIgbG9jYXRvcj0iMjk1OjYwLTI5NTo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTc3IiBsb2NhdG9yPSIyOTU6MzItMjk1OjU2IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5ODQiIGxvY2F0b3I9IjI5NjoxLTI5Njo2OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk4NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWVkaWNhdGlvblJlcXVlc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5ODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTgzIiBsb2NhdG9yPSIyOTY6NTgtMjk2OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5ODIiIGxvY2F0b3I9IjI5Njo1OC0yOTY6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk4MSIgbG9jYXRvcj0iMjk2OjMyLTI5Njo1NCIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk4OCIgbG9jYXRvcj0iMjk3OjEtMjk3OjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTg4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5NZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk4NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5ODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5ODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk4NyIgbG9jYXRvcj0iMjk3OjYwLTI5Nzo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTg2IiBsb2NhdG9yPSIyOTc6NjAtMjk3OjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5ODUiIGxvY2F0b3I9IjI5NzozMi0yOTc6NTYiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXRlbWVudFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk5MiIgbG9jYXRvcj0iMjk4OjEtMjk4OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTkyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5NZWRpY2F0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk5MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk5MSIgbG9jYXRvcj0iMjk4OjUxLTI5ODo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTkwIiBsb2NhdG9yPSIyOTg6NTEtMjk4OjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5ODkiIGxvY2F0b3I9IjI5ODozMi0yOTg6NDciIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk5NiIgbG9jYXRvcj0iMjk5OjEtMjk5OjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTk2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTkzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5NZXNzYWdlU2lnbmlmaWNhbmNlQ2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTk1IiBsb2NhdG9yPSIyOTk6NjItMjk5OjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5OTQiIGxvY2F0b3I9IjI5OTo2Mi0yOTk6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk5MyIgbG9jYXRvcj0iMjk5OjMyLTI5OTo1OCIgbmFtZT0iZmhpcjpNZXNzYWdlU2lnbmlmaWNhbmNlQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDAwIiBsb2NhdG9yPSIzMDA6MS0zMDA6NzUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5NZXNzYWdlaGVhZGVyX1Jlc3BvbnNlX1JlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTk5IiBsb2NhdG9yPSIzMDA6NjUtMzAwOjc1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5OTgiIGxvY2F0b3I9IjMwMDo2NS0zMDA6NjkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk5NyIgbG9jYXRvcj0iMzAwOjMyLTMwMDo2MSIgbmFtZT0iZmhpcjpNZXNzYWdlaGVhZGVyX1Jlc3BvbnNlX1JlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDA0IiBsb2NhdG9yPSIzMDE6MS0zMDE6NTMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWltZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMDMiIGxvY2F0b3I9IjMwMTo0My0zMDE6NTMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwMDIiIGxvY2F0b3I9IjMwMTo0My0zMDE6NDciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwMDEiIGxvY2F0b3I9IjMwMTozMi0zMDE6MzkiIG5hbWU9ImZoaXI6TWltZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDA4IiBsb2NhdG9yPSIzMDI6MS0zMDI6NTIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDA4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TmFtZVVzZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAwNyIgbG9jYXRvcj0iMzAyOjQyLTMwMjo1MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTAwNiIgbG9jYXRvcj0iMzAyOjQyLTMwMjo0NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAwNSIgbG9jYXRvcj0iMzAyOjMyLTMwMjozOCIgbmFtZT0iZmhpcjpOYW1lVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAxMiIgbG9jYXRvcj0iMzAzOjEtMzAzOjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAxMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMDkiPgogICAgICAgICAgICAgICAgICA8YTpzPk5hbWluZ1N5c3RlbUlkZW50aWZpZXJUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDExIiBsb2NhdG9yPSIzMDM6NjEtMzAzOjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDEwIiBsb2NhdG9yPSIzMDM6NjEtMzAzOjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDA5IiBsb2NhdG9yPSIzMDM6MzItMzAzOjU3IiBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbUlkZW50aWZpZXJUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAxNiIgbG9jYXRvcj0iMzA0OjEtMzA0OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMTMiPgogICAgICAgICAgICAgICAgICA8YTpzPk5hbWluZ1N5c3RlbVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMTUiIGxvY2F0b3I9IjMwNDo1MS0zMDQ6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwMTQiIGxvY2F0b3I9IjMwNDo1MS0zMDQ6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwMTMiIGxvY2F0b3I9IjMwNDozMi0zMDQ6NDciIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwMjAiIGxvY2F0b3I9IjMwNToxLTMwNTo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwMjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5OYXJyYXRpdmVTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMTkiIGxvY2F0b3I9IjMwNTo1MC0zMDU6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwMTgiIGxvY2F0b3I9IjMwNTo1MC0zMDU6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwMTciIGxvY2F0b3I9IjMwNTozMi0zMDU6NDYiIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAyNCIgbG9jYXRvcj0iMzA2OjEtMzA2OjUzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMjEiPgogICAgICAgICAgICAgICAgICA8YTpzPk5vdGVUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDIzIiBsb2NhdG9yPSIzMDY6NDMtMzA2OjUzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDIyIiBsb2NhdG9yPSIzMDY6NDMtMzA2OjQ3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDIxIiBsb2NhdG9yPSIzMDY6MzItMzA2OjM5IiBuYW1lPSJmaGlyOk5vdGVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAyOCIgbG9jYXRvcj0iMzA3OjEtMzA3OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMjUiPgogICAgICAgICAgICAgICAgICA8YTpzPk51dHJpdGlpb25PcmRlckludGVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAyNyIgbG9jYXRvcj0iMzA3OjU2LTMwNzo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTAyNiIgbG9jYXRvcj0iMzA3OjU2LTMwNzo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAyNSIgbG9jYXRvcj0iMzA3OjMyLTMwNzo1MiIgbmFtZT0iZmhpcjpOdXRyaXRpaW9uT3JkZXJJbnRlbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDMyIiBsb2NhdG9yPSIzMDg6MS0zMDg6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDMyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TnV0cml0aW9uT3JkZXJTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMzEiIGxvY2F0b3I9IjMwODo1NS0zMDg6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwMzAiIGxvY2F0b3I9IjMwODo1NS0zMDg6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwMjkiIGxvY2F0b3I9IjMwODozMi0zMDg6NTEiIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDM2IiBsb2NhdG9yPSIzMDk6MS0zMDk6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+T2JzZXJ2YXRpb25EYXRhVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAzNSIgbG9jYXRvcj0iMzA5OjU0LTMwOTo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTAzNCIgbG9jYXRvcj0iMzA5OjU0LTMwOTo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAzMyIgbG9jYXRvcj0iMzA5OjMyLTMwOTo1MCIgbmFtZT0iZmhpcjpPYnNlcnZhdGlvbkRhdGFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA0MCIgbG9jYXRvcj0iMzEwOjEtMzEwOjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA0MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMzciPgogICAgICAgICAgICAgICAgICA8YTpzPk9ic2VydmF0aW9uUmFuZ2VDYXRlZ29yeTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDM5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDM5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAzOSIgbG9jYXRvcj0iMzEwOjU5LTMxMDo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTAzOCIgbG9jYXRvcj0iMzEwOjU5LTMxMDo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAzNyIgbG9jYXRvcj0iMzEwOjMyLTMxMDo1NSIgbmFtZT0iZmhpcjpPYnNlcnZhdGlvblJhbmdlQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDQ0IiBsb2NhdG9yPSIzMTE6MS0zMTE6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDQ0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+T2JzZXJ2YXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNDMiIGxvY2F0b3I9IjMxMTo1Mi0zMTE6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNDIiIGxvY2F0b3I9IjMxMTo1Mi0zMTE6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNDEiIGxvY2F0b3I9IjMxMTozMi0zMTE6NDgiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDQ4IiBsb2NhdG9yPSIzMTI6MS0zMTI6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+T3BlcmF0aW9uS2luZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA0NyIgbG9jYXRvcj0iMzEyOjQ4LTMxMjo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA0NiIgbG9jYXRvcj0iMzEyOjQ4LTMxMjo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA0NSIgbG9jYXRvcj0iMzEyOjMyLTMxMjo0NCIgbmFtZT0iZmhpcjpPcGVyYXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA1MiIgbG9jYXRvcj0iMzEzOjEtMzEzOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNDkiPgogICAgICAgICAgICAgICAgICA8YTpzPk9wZXJhdGlvblBhcmFtZXRlclVzZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA1MSIgbG9jYXRvcj0iMzEzOjU2LTMxMzo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA1MCIgbG9jYXRvcj0iMzEzOjU2LTMxMzo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA0OSIgbG9jYXRvcj0iMzEzOjMyLTMxMzo1MiIgbmFtZT0iZmhpcjpPcGVyYXRpb25QYXJhbWV0ZXJVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDU2IiBsb2NhdG9yPSIzMTQ6MS0zMTQ6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDU2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+T3JpZW50YXRpb25UeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDU1IiBsb2NhdG9yPSIzMTQ6NTAtMzE0OjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDU0IiBsb2NhdG9yPSIzMTQ6NTAtMzE0OjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDUzIiBsb2NhdG9yPSIzMTQ6MzItMzE0OjQ2IiBuYW1lPSJmaGlyOk9yaWVudGF0aW9uVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNjAiIGxvY2F0b3I9IjMxNToxLTMxNTo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5QYXJhbWV0ZXJVc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNTkiIGxvY2F0b3I9IjMxNTo0Ny0zMTU6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNTgiIGxvY2F0b3I9IjMxNTo0Ny0zMTU6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNTciIGxvY2F0b3I9IjMxNTozMi0zMTU6NDMiIG5hbWU9ImZoaXI6UGFyYW1ldGVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA2NCIgbG9jYXRvcj0iMzE2OjEtMzE2OjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA2NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNjEiPgogICAgICAgICAgICAgICAgICA8YTpzPlBhcnRpY2lwYW50UmVxdWlyZWQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNjMiIGxvY2F0b3I9IjMxNjo1NC0zMTY6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNjIiIGxvY2F0b3I9IjMxNjo1NC0zMTY6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNjEiIGxvY2F0b3I9IjMxNjozMi0zMTY6NTAiIG5hbWU9ImZoaXI6UGFydGljaXBhbnRSZXF1aXJlZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNjgiIGxvY2F0b3I9IjMxNzoxLTMxNzo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5QYXJ0aWNpcGFudFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA2NyIgbG9jYXRvcj0iMzE3OjUyLTMxNzo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA2NiIgbG9jYXRvcj0iMzE3OjUyLTMxNzo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA2NSIgbG9jYXRvcj0iMzE3OjMyLTMxNzo0OCIgbmFtZT0iZmhpcjpQYXJ0aWNpcGFudFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNzIiIGxvY2F0b3I9IjMxODoxLTMxODo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5QYXJ0aWNpcGF0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDcxIiBsb2NhdG9yPSIzMTg6NTQtMzE4OjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDcwIiBsb2NhdG9yPSIzMTg6NTQtMzE4OjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDY5IiBsb2NhdG9yPSIzMTg6MzItMzE4OjUwIiBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDc2IiBsb2NhdG9yPSIzMTk6MS0zMTk6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDc2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UGF5bWVudE5vdGljZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA3NSIgbG9jYXRvcj0iMzE5OjU0LTMxOTo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA3NCIgbG9jYXRvcj0iMzE5OjU0LTMxOTo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA3MyIgbG9jYXRvcj0iMzE5OjMyLTMxOTo1MCIgbmFtZT0iZmhpcjpQYXltZW50Tm90aWNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA4MCIgbG9jYXRvcj0iMzIwOjEtMzIwOjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA4MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNzciPgogICAgICAgICAgICAgICAgICA8YTpzPlBheW1lbnRSZWNvbmNpbGlhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA3OSIgbG9jYXRvcj0iMzIwOjYyLTMyMDo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA3OCIgbG9jYXRvcj0iMzIwOjYyLTMyMDo2NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA3NyIgbG9jYXRvcj0iMzIwOjMyLTMyMDo1OCIgbmFtZT0iZmhpcjpQYXltZW50UmVjb25jaWxpYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDg0IiBsb2NhdG9yPSIzMjE6MS0zMjE6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UHJvY2VkdXJlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwODMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDgzIiBsb2NhdG9yPSIzMjE6NTAtMzIxOjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDgyIiBsb2NhdG9yPSIzMjE6NTAtMzIxOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDgxIiBsb2NhdG9yPSIzMjE6MzItMzIxOjQ2IiBuYW1lPSJmaGlyOlByb2NlZHVyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwODgiIGxvY2F0b3I9IjMyMjoxLTMyMjo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwODgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwODciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDg3IiBsb2NhdG9yPSIzMjI6NTctMzIyOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDg2IiBsb2NhdG9yPSIzMjI6NTctMzIyOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDg1IiBsb2NhdG9yPSIzMjI6MzItMzIyOjUzIiBuYW1lPSJmaGlyOlByb3BlcnR5UmVwcmVzZW50YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDkyIiBsb2NhdG9yPSIzMjM6MS0zMjM6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDkyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UHJvcGVydHlUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwOTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDkxIiBsb2NhdG9yPSIzMjM6NDctMzIzOjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDkwIiBsb2NhdG9yPSIzMjM6NDctMzIzOjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDg5IiBsb2NhdG9yPSIzMjM6MzItMzIzOjQzIiBuYW1lPSJmaGlyOlByb3BlcnR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwOTYiIGxvY2F0b3I9IjMyNDoxLTMyNDo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwOTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDkzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Qcm92ZW5hbmNlRW50aXR5Um9sZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDk1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA5NSIgbG9jYXRvcj0iMzI0OjU1LTMyNDo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA5NCIgbG9jYXRvcj0iMzI0OjU1LTMyNDo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA5MyIgbG9jYXRvcj0iMzI0OjMyLTMyNDo1MSIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMDAiIGxvY2F0b3I9IjMyNToxLTMyNTo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5QdWJsaWNhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA5OSIgbG9jYXRvcj0iMzI1OjUyLTMyNTo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA5OCIgbG9jYXRvcj0iMzI1OjUyLTMyNTo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA5NyIgbG9jYXRvcj0iMzI1OjMyLTMyNTo0OCIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMDQiIGxvY2F0b3I9IjMyNjoxLTMyNjo1NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5RdWFsaXR5VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTEwMyIgbG9jYXRvcj0iMzI2OjQ2LTMyNjo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTEwMiIgbG9jYXRvcj0iMzI2OjQ2LTMyNjo1MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTEwMSIgbG9jYXRvcj0iMzI2OjMyLTMyNjo0MiIgbmFtZT0iZmhpcjpRdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMDgiIGxvY2F0b3I9IjMyNzoxLTMyNzo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMDgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5RdWFudGl0eUNvbXBhcmF0b3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExMDciIGxvY2F0b3I9IjMyNzo1My0zMjc6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMDYiIGxvY2F0b3I9IjMyNzo1My0zMjc6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExMDUiIGxvY2F0b3I9IjMyNzozMi0zMjc6NDkiIG5hbWU9ImZoaXI6UXVhbnRpdHlDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTExMiIgbG9jYXRvcj0iMzI4OjEtMzI4OjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTExMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMDkiPgogICAgICAgICAgICAgICAgICA8YTpzPlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTExMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExMTEiIGxvY2F0b3I9IjMyODo2MC0zMjg6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMTAiIGxvY2F0b3I9IjMyODo2MC0zMjg6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExMDkiIGxvY2F0b3I9IjMyODozMi0zMjg6NTYiIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1PcGVyYXRvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMTYiIGxvY2F0b3I9IjMyOToxLTMyOTo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTEzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5RdWVzdGlvbm5haXJlSXRlbVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTExNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExMTUiIGxvY2F0b3I9IjMyOTo1Ni0zMjk6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMTQiIGxvY2F0b3I9IjMyOTo1Ni0zMjk6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExMTMiIGxvY2F0b3I9IjMyOTozMi0zMjk6NTIiIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEyMCIgbG9jYXRvcj0iMzMwOjEtMzMwOjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTEyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMTciPgogICAgICAgICAgICAgICAgICA8YTpzPlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTExOSIgbG9jYXRvcj0iMzMwOjYyLTMzMDo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTExOCIgbG9jYXRvcj0iMzMwOjYyLTMzMDo2NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTExNyIgbG9jYXRvcj0iMzMwOjMyLTMzMDo1OCIgbmFtZT0iZmhpcjpRdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTI0IiBsb2NhdG9yPSIzMzE6MS0zMzE6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTI0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVmZXJlbmNlSGFuZGxpbmdQb2xpY3k8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExMjMiIGxvY2F0b3I9IjMzMTo1OC0zMzE6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMjIiIGxvY2F0b3I9IjMzMTo1OC0zMzE6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExMjEiIGxvY2F0b3I9IjMzMTozMi0zMzE6NTQiIG5hbWU9ImZoaXI6UmVmZXJlbmNlSGFuZGxpbmdQb2xpY3kiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTI4IiBsb2NhdG9yPSIzMzI6MS0zMzI6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTI4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVmZXJlbmNlVmVyc2lvblJ1bGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTI3IiBsb2NhdG9yPSIzMzI6NTYtMzMyOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTI2IiBsb2NhdG9yPSIzMzI6NTYtMzMyOjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTI1IiBsb2NhdG9yPSIzMzI6MzItMzMyOjUyIiBuYW1lPSJmaGlyOlJlZmVyZW5jZVZlcnNpb25SdWxlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMzIiIGxvY2F0b3I9IjMzMzoxLTMzMzo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTI5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5SZWZlcnJlZERvY3VtZW50U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTMxIiBsb2NhdG9yPSIzMzM6NTctMzMzOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTMwIiBsb2NhdG9yPSIzMzM6NTctMzMzOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTI5IiBsb2NhdG9yPSIzMzM6MzItMzMzOjUzIiBuYW1lPSJmaGlyOlJlZmVycmVkRG9jdW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTM2IiBsb2NhdG9yPSIzMzQ6MS0zMzQ6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVsYXRlZEFydGlmYWN0VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTEzNSIgbG9jYXRvcj0iMzM0OjU0LTMzNDo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTEzNCIgbG9jYXRvcj0iMzM0OjU0LTMzNDo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTEzMyIgbG9jYXRvcj0iMzM0OjMyLTMzNDo1MCIgbmFtZT0iZmhpcjpSZWxhdGVkQXJ0aWZhY3RUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE0MCIgbG9jYXRvcj0iMzM1OjEtMzM1OjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE0MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMzciPgogICAgICAgICAgICAgICAgICA8YTpzPlJlbWl0dGFuY2VPdXRjb21lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTM5IiBsb2NhdG9yPSIzMzU6NTItMzM1OjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTM4IiBsb2NhdG9yPSIzMzU6NTItMzM1OjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTM3IiBsb2NhdG9yPSIzMzU6MzItMzM1OjQ4IiBuYW1lPSJmaGlyOlJlbWl0dGFuY2VPdXRjb21lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE0NCIgbG9jYXRvcj0iMzM2OjEtMzM2OjU5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE0NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlcG9zaXRvcnlUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTQzIiBsb2NhdG9yPSIzMzY6NDktMzM2OjU5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTQyIiBsb2NhdG9yPSIzMzY6NDktMzM2OjUzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTQxIiBsb2NhdG9yPSIzMzY6MzItMzM2OjQ1IiBuYW1lPSJmaGlyOlJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE0OCIgbG9jYXRvcj0iMzM3OjEtMzM3OjU4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNDUiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlcXVlc3RJbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNDciIGxvY2F0b3I9IjMzNzo0OC0zMzc6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNDYiIGxvY2F0b3I9IjMzNzo0OC0zMzc6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExNDUiIGxvY2F0b3I9IjMzNzozMi0zMzc6NDQiIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExNTIiIGxvY2F0b3I9IjMzODoxLTMzODo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExNTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXF1ZXN0UHJpb3JpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNTEiIGxvY2F0b3I9IjMzODo1MC0zMzg6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNTAiIGxvY2F0b3I9IjMzODo1MC0zMzg6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExNDkiIGxvY2F0b3I9IjMzODozMi0zMzg6NDYiIG5hbWU9ImZoaXI6UmVxdWVzdFByaW9yaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE1NiIgbG9jYXRvcj0iMzM5OjEtMzM5OjU4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE1NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlcXVlc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNTUiIGxvY2F0b3I9IjMzOTo0OC0zMzk6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNTQiIGxvY2F0b3I9IjMzOTo0OC0zMzk6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExNTMiIGxvY2F0b3I9IjMzOTozMi0zMzk6NDQiIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExNjAiIGxvY2F0b3I9IjM0MDoxLTM0MDo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExNjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXNlYXJjaEVsZW1lbnRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTU5IiBsb2NhdG9yPSIzNDA6NTQtMzQwOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTU4IiBsb2NhdG9yPSIzNDA6NTQtMzQwOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTU3IiBsb2NhdG9yPSIzNDA6MzItMzQwOjUwIiBuYW1lPSJmaGlyOlJlc2VhcmNoRWxlbWVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTY0IiBsb2NhdG9yPSIzNDE6MS0zNDE6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzZWFyY2hTdHVkeVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTYzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE2MyIgbG9jYXRvcj0iMzQxOjU0LTM0MTo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE2MiIgbG9jYXRvcj0iMzQxOjU0LTM0MTo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTE2MSIgbG9jYXRvcj0iMzQxOjMyLTM0MTo1MCIgbmFtZT0iZmhpcjpSZXNlYXJjaFN0dWR5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE2OCIgbG9jYXRvcj0iMzQyOjEtMzQyOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE2OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNjUiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc2VhcmNoU3ViamVjdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE2NyIgbG9jYXRvcj0iMzQyOjU2LTM0Mjo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE2NiIgbG9jYXRvcj0iMzQyOjU2LTM0Mjo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTE2NSIgbG9jYXRvcj0iMzQyOjMyLTM0Mjo1MiIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTcyIiBsb2NhdG9yPSIzNDM6MS0zNDM6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTcyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzb3VyY2VUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTcxIiBsb2NhdG9yPSIzNDM6NDctMzQzOjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTcwIiBsb2NhdG9yPSIzNDM6NDctMzQzOjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTY5IiBsb2NhdG9yPSIzNDM6MzItMzQzOjQzIiBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExNzYiIGxvY2F0b3I9IjM0NDoxLTM0NDo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExNzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTczIj4KICAgICAgICAgICAgICAgICAgPGE6cz5SZXNvdXJjZVZlcnNpb25Qb2xpY3k8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNzUiIGxvY2F0b3I9IjM0NDo1Ni0zNDQ6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNzQiIGxvY2F0b3I9IjM0NDo1Ni0zNDQ6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExNzMiIGxvY2F0b3I9IjM0NDozMi0zNDQ6NTIiIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE4MCIgbG9jYXRvcj0iMzQ1OjEtMzQ1OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE4MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNzciPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc3BvbnNlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE3OSIgbG9jYXRvcj0iMzQ1OjQ3LTM0NTo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE3OCIgbG9jYXRvcj0iMzQ1OjQ3LTM0NTo1MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTE3NyIgbG9jYXRvcj0iMzQ1OjMyLTM0NTo0MyIgbmFtZT0iZmhpcjpSZXNwb25zZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTg0IiBsb2NhdG9yPSIzNDY6MS0zNDY6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzdGZ1bENhcGFiaWxpdHlNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExODMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTgzIiBsb2NhdG9yPSIzNDY6NTYtMzQ2OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTgyIiBsb2NhdG9yPSIzNDY6NTYtMzQ2OjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTgxIiBsb2NhdG9yPSIzNDY6MzItMzQ2OjUyIiBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExODgiIGxvY2F0b3I9IjM0NzoxLTM0Nzo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExODgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5SaXNrQXNzZXNzbWVudFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTg3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE4NyIgbG9jYXRvcj0iMzQ3OjU1LTM0Nzo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE4NiIgbG9jYXRvcj0iMzQ3OjU1LTM0Nzo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTE4NSIgbG9jYXRvcj0iMzQ3OjMyLTM0Nzo1MSIgbmFtZT0iZmhpcjpSaXNrQXNzZXNzbWVudFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExOTIiIGxvY2F0b3I9IjM0ODoxLTM0ODo1NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExOTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TUERYTGljZW5zZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE5MSIgbG9jYXRvcj0iMzQ4OjQ2LTM0ODo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE5MCIgbG9jYXRvcj0iMzQ4OjQ2LTM0ODo1MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTE4OSIgbG9jYXRvcj0iMzQ4OjMyLTM0ODo0MiIgbmFtZT0iZmhpcjpTUERYTGljZW5zZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExOTYiIGxvY2F0b3I9IjM0OToxLTM0OTo2MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExOTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTkzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TZWFyY2hDb21wYXJhdG9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExOTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTk1IiBsb2NhdG9yPSIzNDk6NTEtMzQ5OjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTk0IiBsb2NhdG9yPSIzNDk6NTEtMzQ5OjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTkzIiBsb2NhdG9yPSIzNDk6MzItMzQ5OjQ3IiBuYW1lPSJmaGlyOlNlYXJjaENvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjAwIiBsb2NhdG9yPSIzNTA6MS0zNTA6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U2VhcmNoRW50cnlNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExOTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTk5IiBsb2NhdG9yPSIzNTA6NTAtMzUwOjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTk4IiBsb2NhdG9yPSIzNTA6NTAtMzUwOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTk3IiBsb2NhdG9yPSIzNTA6MzItMzUwOjQ2IiBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyMDQiIGxvY2F0b3I9IjM1MToxLTM1MTo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyMDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TZWFyY2hNb2RpZmllckNvZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMDMiIGxvY2F0b3I9IjM1MTo1My0zNTE6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMDIiIGxvY2F0b3I9IjM1MTo1My0zNTE6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyMDEiIGxvY2F0b3I9IjM1MTozMi0zNTE6NDkiIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIwOCIgbG9jYXRvcj0iMzUyOjEtMzUyOjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIwOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyMDUiPgogICAgICAgICAgICAgICAgICA8YTpzPlNlYXJjaFBhcmFtVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIwNyIgbG9jYXRvcj0iMzUyOjUwLTM1Mjo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIwNiIgbG9jYXRvcj0iMzUyOjUwLTM1Mjo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTIwNSIgbG9jYXRvcj0iMzUyOjMyLTM1Mjo0NiIgbmFtZT0iZmhpcjpTZWFyY2hQYXJhbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjEyIiBsb2NhdG9yPSIzNTM6MS0zNTM6NTYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjEyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U2VjdGlvbk1vZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMTEiIGxvY2F0b3I9IjM1Mzo0Ni0zNTM6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMTAiIGxvY2F0b3I9IjM1Mzo0Ni0zNTM6NTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyMDkiIGxvY2F0b3I9IjM1MzozMi0zNTM6NDIiIG5hbWU9ImZoaXI6U2VjdGlvbk1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjE2IiBsb2NhdG9yPSIzNTQ6MS0zNTQ6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U2VxdWVuY2VUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyMTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjE1IiBsb2NhdG9yPSIzNTQ6NDctMzU0OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjE0IiBsb2NhdG9yPSIzNTQ6NDctMzU0OjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjEzIiBsb2NhdG9yPSIzNTQ6MzItMzU0OjQzIiBuYW1lPSJmaGlyOlNlcXVlbmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyMjAiIGxvY2F0b3I9IjM1NToxLTM1NTo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyMjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TZXJ2aWNlUmVxdWVzdEludGVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIxOSIgbG9jYXRvcj0iMzU1OjU1LTM1NTo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIxOCIgbG9jYXRvcj0iMzU1OjU1LTM1NTo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTIxNyIgbG9jYXRvcj0iMzU1OjMyLTM1NTo1MSIgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyMjQiIGxvY2F0b3I9IjM1NjoxLTM1Njo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyMjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjIxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TZXJ2aWNlUmVxdWVzdFByaW9yaXR5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyMjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjIzIiBsb2NhdG9yPSIzNTY6NTctMzU2OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjIyIiBsb2NhdG9yPSIzNTY6NTctMzU2OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjIxIiBsb2NhdG9yPSIzNTY6MzItMzU2OjUzIiBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjI4IiBsb2NhdG9yPSIzNTc6MS0zNTc6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjI4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U2VydmljZVJlcXVlc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMjciIGxvY2F0b3I9IjM1Nzo1NS0zNTc6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMjYiIGxvY2F0b3I9IjM1Nzo1NS0zNTc6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyMjUiIGxvY2F0b3I9IjM1NzozMi0zNTc6NTEiIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjMyIiBsb2NhdG9yPSIzNTg6MS0zNTg6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjMyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U2xpY2luZ1J1bGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyMzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjMxIiBsb2NhdG9yPSIzNTg6NDctMzU4OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjMwIiBsb2NhdG9yPSIzNTg6NDctMzU4OjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjI5IiBsb2NhdG9yPSIzNTg6MzItMzU4OjQzIiBuYW1lPSJmaGlyOlNsaWNpbmdSdWxlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyMzYiIGxvY2F0b3I9IjM1OToxLTM1OTo1NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyMzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TbG90U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyMzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjM1IiBsb2NhdG9yPSIzNTk6NDUtMzU5OjU1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjM0IiBsb2NhdG9yPSIzNTk6NDUtMzU5OjQ5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjMzIiBsb2NhdG9yPSIzNTk6MzItMzU5OjQxIiBuYW1lPSJmaGlyOlNsb3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjQwIiBsb2NhdG9yPSIzNjA6MS0zNjA6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjQwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U29ydERpcmVjdGlvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjM5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIzOSIgbG9jYXRvcj0iMzYwOjQ4LTM2MDo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIzOCIgbG9jYXRvcj0iMzYwOjQ4LTM2MDo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTIzNyIgbG9jYXRvcj0iMzYwOjMyLTM2MDo0NCIgbmFtZT0iZmhpcjpTb3J0RGlyZWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI0NCIgbG9jYXRvcj0iMzYxOjEtMzYxOjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTI0NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPlNwZWNpbWVuQ29udGFpbmVkUHJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI0MyIgbG9jYXRvcj0iMzYxOjYyLTM2MTo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI0MiIgbG9jYXRvcj0iMzYxOjYyLTM2MTo2NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI0MSIgbG9jYXRvcj0iMzYxOjMyLTM2MTo1OCIgbmFtZT0iZmhpcjpTcGVjaW1lbkNvbnRhaW5lZFByZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjQ4IiBsb2NhdG9yPSIzNjI6MS0zNjI6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3BlY2ltZW5TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNDciIGxvY2F0b3I9IjM2Mjo0OS0zNjI6NTkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyNDYiIGxvY2F0b3I9IjM2Mjo0OS0zNjI6NTMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNDUiIGxvY2F0b3I9IjM2MjozMi0zNjI6NDUiIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjUyIiBsb2NhdG9yPSIzNjM6MS0zNjM6NTEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjUyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjUxIiBsb2NhdG9yPSIzNjM6NDEtMzYzOjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjUwIiBsb2NhdG9yPSIzNjM6NDEtMzYzOjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjQ5IiBsb2NhdG9yPSIzNjM6MzItMzYzOjM3IiBuYW1lPSJmaGlyOlN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyNTYiIGxvY2F0b3I9IjM2NDoxLTM2NDo1NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyNTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjUzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJhbmRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjU1IiBsb2NhdG9yPSIzNjQ6NDUtMzY0OjU1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjU0IiBsb2NhdG9yPSIzNjQ6NDUtMzY0OjQ5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjUzIiBsb2NhdG9yPSIzNjQ6MzItMzY0OjQxIiBuYW1lPSJmaGlyOlN0cmFuZFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjYwIiBsb2NhdG9yPSIzNjU6MS0zNjU6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjYwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RydWN0dXJlRGVmaW5pdGlvbktpbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNTkiIGxvY2F0b3I9IjM2NTo1OC0zNjU6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyNTgiIGxvY2F0b3I9IjM2NTo1OC0zNjU6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNTciIGxvY2F0b3I9IjM2NTozMi0zNjU6NTQiIG5hbWU9ImZoaXI6U3RydWN0dXJlRGVmaW5pdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjY0IiBsb2NhdG9yPSIzNjY6MS0zNjY6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RydWN0dXJlTWFwQ29udGV4dFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNjMiIGxvY2F0b3I9IjM2Njo1OC0zNjY6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyNjIiIGxvY2F0b3I9IjM2Njo1OC0zNjY6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNjEiIGxvY2F0b3I9IjM2NjozMi0zNjY6NTQiIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwQ29udGV4dFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjY4IiBsb2NhdG9yPSIzNjc6MS0zNjc6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjY4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI2NyIgbG9jYXRvcj0iMzY3OjYwLTM2Nzo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI2NiIgbG9jYXRvcj0iMzY3OjYwLTM2Nzo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI2NSIgbG9jYXRvcj0iMzY3OjMyLTM2Nzo1NiIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI3MiIgbG9jYXRvcj0iMzY4OjEtMzY4OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNjkiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cnVjdHVyZU1hcElucHV0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjcxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI3MSIgbG9jYXRvcj0iMzY4OjU2LTM2ODo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI3MCIgbG9jYXRvcj0iMzY4OjU2LTM2ODo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI2OSIgbG9jYXRvcj0iMzY4OjMyLTM2ODo1MiIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBJbnB1dE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjc2IiBsb2NhdG9yPSIzNjk6MS0zNjk6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjc2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RydWN0dXJlTWFwTW9kZWxNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjc1IiBsb2NhdG9yPSIzNjk6NTYtMzY5OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjc0IiBsb2NhdG9yPSIzNjk6NTYtMzY5OjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjczIiBsb2NhdG9yPSIzNjk6MzItMzY5OjUyIiBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyODAiIGxvY2F0b3I9IjM3MDoxLTM3MDo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI3OSIgbG9jYXRvcj0iMzcwOjYxLTM3MDo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI3OCIgbG9jYXRvcj0iMzcwOjYxLTM3MDo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI3NyIgbG9jYXRvcj0iMzcwOjMyLTM3MDo1NyIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyODQiIGxvY2F0b3I9IjM3MToxLTM3MTo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyODQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI4MyIgbG9jYXRvcj0iMzcxOjYxLTM3MTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI4MiIgbG9jYXRvcj0iMzcxOjYxLTM3MTo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI4MSIgbG9jYXRvcj0iMzcxOjMyLTM3MTo1NyIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyODgiIGxvY2F0b3I9IjM3MjoxLTM3Mjo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyODgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJ1Y3R1cmVNYXBUcmFuc2Zvcm08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyODciIGxvY2F0b3I9IjM3Mjo1Ni0zNzI6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyODYiIGxvY2F0b3I9IjM3Mjo1Ni0zNzI6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyODUiIGxvY2F0b3I9IjM3MjozMi0zNzI6NTIiIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwVHJhbnNmb3JtIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI5MiIgbG9jYXRvcj0iMzczOjEtMzczOjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTI5MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyODkiPgogICAgICAgICAgICAgICAgICA8YTpzPlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjkxIiBsb2NhdG9yPSIzNzM6NTgtMzczOjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjkwIiBsb2NhdG9yPSIzNzM6NTgtMzczOjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjg5IiBsb2NhdG9yPSIzNzM6MzItMzczOjU0IiBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI5NiIgbG9jYXRvcj0iMzc0OjEtMzc0OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTI5NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlN1YnNjcmlwdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjk1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI5NSIgbG9jYXRvcj0iMzc0OjUzLTM3NDo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI5NCIgbG9jYXRvcj0iMzc0OjUzLTM3NDo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI5MyIgbG9jYXRvcj0iMzc0OjMyLTM3NDo0OSIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzAwIiBsb2NhdG9yPSIzNzU6MS0zNzU6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3VwcGx5RGVsaXZlcnlTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyOTkiIGxvY2F0b3I9IjM3NTo1NS0zNzU6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyOTgiIGxvY2F0b3I9IjM3NTo1NS0zNzU6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyOTciIGxvY2F0b3I9IjM3NTozMi0zNzU6NTEiIG5hbWU9ImZoaXI6U3VwcGx5RGVsaXZlcnlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzA0IiBsb2NhdG9yPSIzNzY6MS0zNzY6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3VwcGx5UmVxdWVzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMwMyIgbG9jYXRvcj0iMzc2OjU0LTM3Njo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMwMiIgbG9jYXRvcj0iMzc2OjU0LTM3Njo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMwMSIgbG9jYXRvcj0iMzc2OjMyLTM3Njo1MCIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMwOCIgbG9jYXRvcj0iMzc3OjEtMzc3OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMwOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMDUiPgogICAgICAgICAgICAgICAgICA8YTpzPlN5c3RlbVJlc3RmdWxJbnRlcmFjdGlvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMwNyIgbG9jYXRvcj0iMzc3OjU5LTM3Nzo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMwNiIgbG9jYXRvcj0iMzc3OjU5LTM3Nzo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMwNSIgbG9jYXRvcj0iMzc3OjMyLTM3Nzo1NSIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzEyIiBsb2NhdG9yPSIzNzg6MS0zNzg6NTUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzEyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VGFza0ludGVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzExIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMxMSIgbG9jYXRvcj0iMzc4OjQ1LTM3ODo1NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMxMCIgbG9jYXRvcj0iMzc4OjQ1LTM3ODo0OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMwOSIgbG9jYXRvcj0iMzc4OjMyLTM3ODo0MSIgbmFtZT0iZmhpcjpUYXNrSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMxNiIgbG9jYXRvcj0iMzc5OjEtMzc5OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlRhc2tQcmlvcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMxNSIgbG9jYXRvcj0iMzc5OjQ3LTM3OTo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMxNCIgbG9jYXRvcj0iMzc5OjQ3LTM3OTo1MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMxMyIgbG9jYXRvcj0iMzc5OjMyLTM3OTo0MyIgbmFtZT0iZmhpcjpUYXNrUHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzIwIiBsb2NhdG9yPSIzODA6MS0zODA6NTUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzIwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VGFza1N0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMxOSIgbG9jYXRvcj0iMzgwOjQ1LTM4MDo1NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMxOCIgbG9jYXRvcj0iMzgwOjQ1LTM4MDo0OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMxNyIgbG9jYXRvcj0iMzgwOjMyLTM4MDo0MSIgbmFtZT0iZmhpcjpUYXNrU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMyNCIgbG9jYXRvcj0iMzgxOjEtMzgxOjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMjEiPgogICAgICAgICAgICAgICAgICA8YTpzPlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMjMiIGxvY2F0b3I9IjM4MTo1Ny0zODE6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMjIiIGxvY2F0b3I9IjM4MTo1Ny0zODE6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzMjEiIGxvY2F0b3I9IjM4MTozMi0zODE6NTMiIG5hbWU9ImZoaXI6VGVzdFJlcG9ydEFjdGlvblJlc3VsdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzMjgiIGxvY2F0b3I9IjM4MjoxLTM4Mjo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzMjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5UZXN0UmVwb3J0UGFydGljaXBhbnRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzI3IiBsb2NhdG9yPSIzODI6NjAtMzgyOjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzI2IiBsb2NhdG9yPSIzODI6NjAtMzgyOjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzI1IiBsb2NhdG9yPSIzODI6MzItMzgyOjU2IiBuYW1lPSJmaGlyOlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzMyIiBsb2NhdG9yPSIzODM6MS0zODM6NjEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzMyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VGVzdFJlcG9ydFJlc3VsdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMzMSIgbG9jYXRvcj0iMzgzOjUxLTM4Mzo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMzMCIgbG9jYXRvcj0iMzgzOjUxLTM4Mzo1NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMyOSIgbG9jYXRvcj0iMzgzOjMyLTM4Mzo0NyIgbmFtZT0iZmhpcjpUZXN0UmVwb3J0UmVzdWx0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMzNiIgbG9jYXRvcj0iMzg0OjEtMzg0OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMzNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMzMiPgogICAgICAgICAgICAgICAgICA8YTpzPlRlc3RSZXBvcnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMzUiIGxvY2F0b3I9IjM4NDo1MS0zODQ6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMzQiIGxvY2F0b3I9IjM4NDo1MS0zODQ6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzMzMiIGxvY2F0b3I9IjM4NDozMi0zODQ6NDciIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNDAiIGxvY2F0b3I9IjM4NToxLTM4NTo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMzkiIGxvY2F0b3I9IjM4NTo2Mi0zODU6NzIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMzgiIGxvY2F0b3I9IjM4NTo2Mi0zODU6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzMzciIGxvY2F0b3I9IjM4NTozMi0zODU6NTgiIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0NCIgbG9jYXRvcj0iMzg2OjEtMzg2OjU2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTM0NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPlRyaWdnZXJUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzQzIiBsb2NhdG9yPSIzODY6NDYtMzg2OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzQyIiBsb2NhdG9yPSIzODY6NDYtMzg2OjUwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzQxIiBsb2NhdG9yPSIzODY6MzItMzg2OjQyIiBuYW1lPSJmaGlyOlRyaWdnZXJUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0OCIgbG9jYXRvcj0iMzg3OjEtMzg3OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTM0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNDUiPgogICAgICAgICAgICAgICAgICA8YTpzPlR5cGVEZXJpdmF0aW9uUnVsZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM0NyIgbG9jYXRvcj0iMzg3OjUzLTM4Nzo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM0NiIgbG9jYXRvcj0iMzg3OjUzLTM4Nzo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM0NSIgbG9jYXRvcj0iMzg3OjMyLTM4Nzo0OSIgbmFtZT0iZmhpcjpUeXBlRGVyaXZhdGlvblJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzUyIiBsb2NhdG9yPSIzODg6MS0zODg6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzUyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VHlwZVJlc3RmdWxJbnRlcmFjdGlvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM1MSIgbG9jYXRvcj0iMzg4OjU3LTM4ODo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM1MCIgbG9jYXRvcj0iMzg4OjU3LTM4ODo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM0OSIgbG9jYXRvcj0iMzg4OjMyLTM4ODo1MyIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM1NiIgbG9jYXRvcj0iMzg5OjEtMzg5OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTM1NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlVESUVudHJ5VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM1NSIgbG9jYXRvcj0iMzg5OjQ3LTM4OTo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM1NCIgbG9jYXRvcj0iMzg5OjQ3LTM4OTo1MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM1MyIgbG9jYXRvcj0iMzg5OjMyLTM4OTo0MyIgbmFtZT0iZmhpcjpVRElFbnRyeVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzYwIiBsb2NhdG9yPSIzOTA6MS0zOTA6NTYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzYwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VW5pdHNPZlRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNTkiIGxvY2F0b3I9IjM5MDo0Ni0zOTA6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNTgiIGxvY2F0b3I9IjM5MDo0Ni0zOTA6NTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzNTciIGxvY2F0b3I9IjM5MDozMi0zOTA6NDIiIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzY0IiBsb2NhdG9yPSIzOTE6MS0zOTE6NDgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VXNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzYzIiBsb2NhdG9yPSIzOTE6MzgtMzkxOjQ4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzYyIiBsb2NhdG9yPSIzOTE6MzgtMzkxOjQyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzYxIiBsb2NhdG9yPSIzOTE6MzItMzkxOjM0IiBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNjgiIGxvY2F0b3I9IjM5MjoxLTM5Mjo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5WYXJpYWJsZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNjciIGxvY2F0b3I9IjM5Mjo0Ny0zOTI6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNjYiIGxvY2F0b3I9IjM5Mjo0Ny0zOTI6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzNjUiIGxvY2F0b3I9IjM5MjozMi0zOTI6NDMiIG5hbWU9ImZoaXI6VmFyaWFibGVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM3MiIgbG9jYXRvcj0iMzkzOjEtMzkzOjU1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTM3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNjkiPgogICAgICAgICAgICAgICAgICA8YTpzPlZpc2lvbkJhc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNzEiIGxvY2F0b3I9IjM5Mzo0NS0zOTM6NTUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNzAiIGxvY2F0b3I9IjM5Mzo0NS0zOTM6NDkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzNjkiIGxvY2F0b3I9IjM5MzozMi0zOTM6NDEiIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNzYiIGxvY2F0b3I9IjM5NDoxLTM5NDo1NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNzYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzczIj4KICAgICAgICAgICAgICAgICAgPGE6cz5WaXNpb25FeWVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzc1IiBsb2NhdG9yPSIzOTQ6NDUtMzk0OjU1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzc0IiBsb2NhdG9yPSIzOTQ6NDUtMzk0OjQ5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzczIiBsb2NhdG9yPSIzOTQ6MzItMzk0OjQxIiBuYW1lPSJmaGlyOlZpc2lvbkV5ZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzgwIiBsb2NhdG9yPSIzOTU6MS0zOTU6NTciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzgwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VmlzaW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzc5IiBsb2NhdG9yPSIzOTU6NDctMzk1OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzc4IiBsb2NhdG9yPSIzOTU6NDctMzk1OjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzc3IiBsb2NhdG9yPSIzOTU6MzItMzk1OjQzIiBuYW1lPSJmaGlyOlZpc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzODQiIGxvY2F0b3I9IjM5NjoxLTM5Njo1OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzODQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5YUGF0aFVzYWdlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM4MyIgbG9jYXRvcj0iMzk2OjQ5LTM5Njo1OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM4MiIgbG9jYXRvcj0iMzk2OjQ5LTM5Njo1MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM4MSIgbG9jYXRvcj0iMzk2OjMyLTM5Njo0NSIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzODgiIGxvY2F0b3I9IjM5NzoxLTM5Nzo1NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzODgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5iYXNlNjRCaW5hcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzODciIGxvY2F0b3I9IjM5Nzo0Ny0zOTc6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzODYiIGxvY2F0b3I9IjM5Nzo0Ny0zOTc6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEzODUiIGxvY2F0b3I9IjM5NzozMi0zOTc6NDMiIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM5MiIgbG9jYXRvcj0iMzk4OjEtMzk4OjUzIiBuYW1lPSJUb0Jvb2xlYW4iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzOTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0Jvb2xlYW4odmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Ym9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM5MSIgbG9jYXRvcj0iMzk4OjQzLTM5ODo1MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM5MCIgbG9jYXRvcj0iMzk4OjQzLTM5ODo0NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM4OSIgbG9jYXRvcj0iMzk4OjMzLTM5ODozOSIgbmFtZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM5NiIgbG9jYXRvcj0iMzk5OjEtMzk5OjQ3IiBuYW1lPSJUb0RhdGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzOTYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0RhdGUodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzk1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM5NSIgbG9jYXRvcj0iMzk5OjM3LTM5OTo0NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM5NCIgbG9jYXRvcj0iMzk5OjM3LTM5OTo0MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM5MyIgbG9jYXRvcj0iMzk5OjMwLTM5OTozMyIgbmFtZT0iZmhpcjpkYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQwMCIgbG9jYXRvcj0iNDAwOjEtNDAwOjU1IiBuYW1lPSJUb0RhdGVUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM5OSIgbG9jYXRvcj0iNDAwOjQ1LTQwMDo1NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM5OCIgbG9jYXRvcj0iNDAwOjQ1LTQwMDo0OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTM5NyIgbG9jYXRvcj0iNDAwOjM0LTQwMDo0MSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0MDQiIGxvY2F0b3I9IjQwMToxLTQwMTo1MyIgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDA0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9EZWNpbWFsKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0MDEiPgogICAgICAgICAgICAgICAgICA8YTpzPmRlY2ltYWw8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0MDMiIGxvY2F0b3I9IjQwMTo0My00MDE6NTMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE0MDIiIGxvY2F0b3I9IjQwMTo0My00MDE6NDciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE0MDEiIGxvY2F0b3I9IjQwMTozMy00MDE6MzkiIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0MDgiIGxvY2F0b3I9IjQwMjoxLTQwMjo1NCIgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQwOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZVRpbWUodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+aW5zdGFudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQwNyIgbG9jYXRvcj0iNDAyOjQ0LTQwMjo1NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQwNiIgbG9jYXRvcj0iNDAyOjQ0LTQwMjo0OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQwNSIgbG9jYXRvcj0iNDAyOjM0LTQwMjo0MCIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQxMiIgbG9jYXRvcj0iNDAzOjEtNDAzOjUzIiBuYW1lPSJUb0ludGVnZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0MTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0ludGVnZXIodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZWdlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDExIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDExIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQxMSIgbG9jYXRvcj0iNDAzOjQzLTQwMzo1MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQxMCIgbG9jYXRvcj0iNDAzOjQzLTQwMzo0NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQwOSIgbG9jYXRvcj0iNDAzOjMzLTQwMzozOSIgbmFtZT0iZmhpcjppbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQxNiIgbG9jYXRvcj0iNDA0OjEtNDA0OjUxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQxNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0MTMiPgogICAgICAgICAgICAgICAgICA8YTpzPnN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQxNSIgbG9jYXRvcj0iNDA0OjQxLTQwNDo1MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQxNCIgbG9jYXRvcj0iNDA0OjQxLTQwNDo0NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQxMyIgbG9jYXRvcj0iNDA0OjMyLTQwNDozNyIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNDIwIiBsb2NhdG9yPSI0MDU6MS00MDU6NDciIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz50aW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0MTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDE5IiBsb2NhdG9yPSI0MDU6MzctNDA1OjQ3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDE4IiBsb2NhdG9yPSI0MDU6MzctNDA1OjQxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDE3IiBsb2NhdG9yPSI0MDU6MzAtNDA1OjMzIiBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNDI0IiBsb2NhdG9yPSI0MDY6MS00MDY6NDgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDI0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+dXJpPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0MjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDIzIiBsb2NhdG9yPSI0MDY6MzgtNDA2OjQ4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDIyIiBsb2NhdG9yPSI0MDY6MzgtNDA2OjQyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDIxIiBsb2NhdG9yPSI0MDY6MzItNDA2OjM0IiBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0MjgiIGxvY2F0b3I9IjQwNzoxLTQwNzo1MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0MjgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz54aHRtbDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQyNyIgbG9jYXRvcj0iNDA3OjQwLTQwNzo1MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQyNiIgbG9jYXRvcj0iNDA3OjQwLTQwNzo0NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQyNSIgbG9jYXRvcj0iNDA3OjMyLTQwNzozNiIgbmFtZT0iZmhpcjp4aHRtbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMTQyOCIsCiAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBhdXRob3I6IEJyeW4gUmhvZGVzXG5AZGVzY3JpcHRpb246IFRoaXMgbGlicmFyeSBkZWZpbmVzIGZ1bmN0aW9ucyB0byBjb252ZXJ0IGJldHdlZW4gRkhJUlxuIGRhdGEgdHlwZXMgYW5kIENRTCBzeXN0ZW0tZGVmaW5lZCB0eXBlcywgYXMgd2VsbCBhcyBmdW5jdGlvbnMgdG8gc3VwcG9ydFxuIEZISVJQYXRoIGltcGxlbWVudGF0aW9uLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBGSElSSGVscGVycyB3aWtpIHBhZ2U6XG4gaHR0cHM6Ly9naXRodWIuY29tL2NxZnJhbWV3b3JrL2NsaW5pY2FsX3F1YWxpdHlfbGFuZ3VhZ2Uvd2lraS9GSElSSGVscGVyc1xuQGFsbG93Rmx1ZW50OiB0cnVlXG4qL1xuIiwibGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMSciIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiLAogICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM6MS0yMDo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9JbnRlcnZhbCIsIigiLCJwZXJpb2QiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUGVyaW9kIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJwZXJpb2QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICIsIm51bGwiLCJcbiAgICBlbHNlXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInBlcmlvZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcInN0YXJ0XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWwoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicGVyaW9kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcInN0YXJ0XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInBlcmlvZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJlbmRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInBlcmlvZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJzdGFydFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJwZXJpb2QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiZW5kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ6NS0yMDo2MiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDo4LTE0OjIxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ6OC0xNDoxMyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6OS0xNToxMiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzo5LTIwOjYyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OjEyLTE3OjMzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc6MTItMTc6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc6MTItMTc6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODoxMy0xODo2MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MjItMTg6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjIyLTE4OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjIyLTE4OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6NDQtMTg6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjQ0LTE4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImVuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6NDQtMTg6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEzLTIwOjYyIiwKICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjIyLTIwOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDoyMi0yMDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA6MjItMjA6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDo0NC0yMDo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA6NDQtMjA6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDo0NC0yMDo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM6MzUtMTM6NDUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI6MS0zMzo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvQ2FsZW5kYXJVbml0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9DYWxlbmRhclVuaXQiLCIoIiwidW5pdCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN5c3RlbSIsIi4iLCJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVuaXQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInbXMnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidtaWxsaXNlY29uZCciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ3MnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidzZWNvbmQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidtaW4nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidtaW51dGUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidoJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaG91ciciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2QnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidkYXknIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIid3ayciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ3dlZWsnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidtbyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ21vbnRoJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInYSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ3llYXInIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1bml0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjUtMzM6NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNvbXBhcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxMC0yMzoxMyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OjktMjQ6MzYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoxNC0yNDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtcyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoyNC0yNDozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtaWxsaXNlY29uZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjktMjU6MzAiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNToxNC0yNToxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjIzLTI1OjMwIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInNlY29uZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjktMjY6MzIiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjoxNC0yNjoxOCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MjUtMjY6MzIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibWludXRlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6OS0yNzoyOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OjE0LTI3OjE2IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6MjMtMjc6MjgiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaG91ciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjktMjg6MjciLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODoxNC0yODoxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjIzLTI4OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRheSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OjktMjk6MjkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxNC0yOToxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ3ayIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToyNC0yOToyOSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ3ZWVrIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6OS0zMDozMCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjE0LTMwOjE3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1vIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjI0LTMwOjMwIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6OS0zMToyOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOjE0LTMxOjE2IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6MjMtMzE6MjgiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI6MTQtMzI6MTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjozNy0yMjo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNToxLTQ2OjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1F1YW50aXR5IiwiKCIsInF1YW50aXR5IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJRdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNhc2VcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiwibnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIsIm51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb21wYXJhdG9yIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG5vdCBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZXNzYWdlIiwiKCIsIm51bGwiLCIsICIsInRydWUiLCIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0ZISVJIZWxwZXJzLlRvUXVhbnRpdHkuQ29tcGFyYXRvclF1YW50aXR5Tm90U3VwcG9ydGVkJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidFcnJvciciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRkhJUiBRdWFudGl0eSB2YWx1ZSBoYXMgYSBjb21wYXJhdG9yIGFuZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgU3lzdGVtLlF1YW50aXR5IHZhbHVlLiciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3lzdGVtIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBvciAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzeXN0ZW0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAgICAgICBvciAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzeXN0ZW0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTeXN0ZW0iLCIuIiwiUXVhbnRpdHkiLCIgeyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVuaXQiLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvQ2FsZW5kYXJVbml0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvYWxlc2NlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVuaXQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgfSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbHNlXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZSIsIigiLCJudWxsIiwiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRkhJUkhlbHBlcnMuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRXJyb3InIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidW5pdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgJiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInICgnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3lzdGVtIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAmICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIid8JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAmICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJyknIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY6NS00Njo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzo5LTM3OjM5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MTQtMzc6MjkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MTQtMzc6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzozNi0zNzozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6OS0zODo0NSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjE0LTM4OjM1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjE0LTM4OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODoxNC0zODoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6NDItMzg6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjktNDA6MTg5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk6MTQtMzk6NDQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk6MTQtMzk6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk6MTQtMzk6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29tcGFyYXRvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk6MTQtMzk6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MTMtNDA6MTg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjIxLTQwOjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MjctNDA6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MzMtNDA6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRkhJUkhlbHBlcnMuVG9RdWFudGl0eS5Db21wYXJhdG9yUXVhbnRpdHlOb3RTdXBwb3J0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjkwLTQwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjk5LTQwOjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJGSElSIFF1YW50aXR5IHZhbHVlIGhhcyBhIGNvbXBhcmF0b3IgYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBTeXN0ZW0uUXVhbnRpdHkgdmFsdWUuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTo5LTQzOjEzOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjE0LTQyOjkyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MToxNC00MTo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MTQtNDE6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MTQtNDE6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MToxNC00MToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6NDEtNDE6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjQxLTQxOjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTo0MS00MTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjQxLTQxOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTo2NS00MTo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MTgtNDI6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjE4LTQyOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxOC00MjozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjE4LTQyOjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mjo0Mi00Mjo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlycGF0aC9Db2RlU3lzdGVtL2NhbGVuZGFyLXVuaXRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjEzLTQzOjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjM4LTQzOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzozOC00Mzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MzgtNDM6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6NjYtNDM6MTM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ2FsZW5kYXJVbml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6ODEtNDM6MTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mzo5MC00MzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjkwLTQzOjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mzo5MC00Mzo5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MTExLTQzOjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MTExLTQzOjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzoxMTEtNDM6MTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzoxMzItNDM6MTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjEzLTQ1OjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MjEtNDU6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MjctNDU6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjMzLTQ1Ojc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkZISVJIZWxwZXJzLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1Ojc5LTQ1Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NTo4OC00NToyMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6ODgtNDU6MTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1Ojg4LTQ1OjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NTo4OC00NToxNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6ODgtNDU6MTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1Ojg4LTQ1OjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NTo4OC00NToxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiSW52YWxpZCBGSElSIFF1YW50aXR5IGNvZGU6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MTIxLTQ1OjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjEyMS00NToxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjEyMS00NToxMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NToxNDMtNDU6MTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiAoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NToxNTAtNDU6MTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MTUwLTQ1OjE2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NToxNTAtNDU6MTU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MTc0LTQ1OjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ8IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NToxODAtNDU6MTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MTgwLTQ1OjE5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MTgwLTQ1OjE4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjIwMi00NToyMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjM3LTM1OjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ4OjEtNTc6NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLCIoIiwicXVhbnRpdHkiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJRdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNhc2VcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIsIm51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiLCJudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3lzdGVtIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBvciAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN5c3RlbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgICAgICAgb3IgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzeXN0ZW0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaHR0cDovL2hsNy5vcmcvZmhpcnBhdGgvQ29kZVN5c3RlbS9jYWxlbmRhci11bml0cyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN5c3RlbSIsIi4iLCJRdWFudGl0eSIsIiB7ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1bml0IiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0NhbGVuZGFyVW5pdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2FsZXNjZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1bml0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgfSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbHNlXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZSIsIigiLCJudWxsIiwiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRkhJUkhlbHBlcnMuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRXJyb3InIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidW5pdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgJiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInICgnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3lzdGVtIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAmICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIid8JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAmICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJyknIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6NS01Nzo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6OS01MDozOSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDoxNC01MDoyOSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MTQtNTA6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MzYtNTA6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MTo5LTUxOjQ1IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjE0LTUxOjM1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MToxNC01MToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjE0LTUxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6NDItNTE6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo5LTU0OjEzOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxNC01Mzo5MiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjE0LTUyOjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6MTQtNTI6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjE0LTUyOjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjE0LTUyOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6NDEtNTI6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo0MS01Mjo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjQxLTUyOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjQxLTUyOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6NjUtNTI6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxOC01Mzo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUzOjE4LTUzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTgtNTM6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTgtNTM6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo0Mi01Mzo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlycGF0aC9Db2RlU3lzdGVtL2NhbGVuZGFyLXVuaXRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjEzLTU0OjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDozOC01NDo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjM4LTU0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MzgtNTQ6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6NjYtNTQ6MTM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ2FsZW5kYXJVbml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6ODEtNTQ6MTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6OTAtNTQ6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6OTAtNTQ6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDo5MC01NDo5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjExMS01NDoxMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxMTEtNTQ6MTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVuaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxMTEtNTQ6MTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MTMyLTU0OjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxMy01NjoyMDUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjIxLTU2OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjI3LTU2OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjozMy01Njo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJGSElSSGVscGVycy5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Njo3OS01Njo4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6ODgtNTY6MjA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2Ojg4LTU2OjE5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Njo4OC01NjoxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6ODgtNTY6MTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2Ojg4LTU2OjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Njo4OC01NjoxMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6ODgtNTY6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkludmFsaWQgRkhJUiBRdWFudGl0eSBjb2RlOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjEyMS01NjoxMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxMjEtNTY6MTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVuaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxMjEtNTY6MTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6MTQzLTU2OjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgKCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6MTUwLTU2OjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE1MC01NjoxNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6MTUwLTU2OjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE3NC01NjoxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAifCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6MTgwLTU2OjE5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE4MC01NjoxOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE4MC01NjoxODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoyMDItNTY6MjA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIikiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDg6NTUtNDg6NjciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MS04NDoxMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvSW50ZXJ2YWwiLCIoIiwicXVhbnRpdHkiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJRdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiwibnVsbCIsIiBlbHNlXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNhc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29tcGFyYXRvciIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInPCciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsW1xuICAgICAgICAgICAgICAgICAgICAiLCJudWxsIiwiLFxuICAgICAgICAgICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgICAgICAgICApIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIic8PSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludGVydmFsW1xuICAgICAgICAgICAgICAgICAgICAiLCJudWxsIiwiLFxuICAgICAgICAgICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgICAgICAgICBdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIic+PSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbXG4gICAgICAgICAgICAgICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG4gICAgICAgICAgICAgICAgICAgICIsIm51bGwiLCJcbiAgICAgICAgICAgICAgICBdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIic+JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbChcbiAgICAgICAgICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvciIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJxdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcbiAgICAgICAgICAgICAgICAgICAgIiwibnVsbCIsIlxuICAgICAgICAgICAgICAgIF0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbFsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInF1YW50aXR5IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvUXVhbnRpdHkiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjA6NS04NDoxMSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYwOjgtNjA6MjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYwOjgtNjA6MTUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDozMC02MDozMyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6OS04NDoxMSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgICAgImNvbXBhcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MTQtNjE6MzgiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToxNC02MTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb21wYXJhdG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MTQtNjE6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MjoxMy02NjoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MjoxOC02MjoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI8IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MzoxNy02NjoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjIxLTY0OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjIxLTY1OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo1MC02NTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzoxMy03MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzoxOC02NzoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI8PSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MTctNzE6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY5OjIxLTY5OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjIxLTcwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDo1MC03MDo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoxMy03NjoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjoxOC03MjoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI+PSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTctNzY6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjIxLTc0OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDo1MC03NDo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjIxLTc1OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxMy04MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxOC03NzoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI+IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxNy04MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjIxLTc5OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTo1MC03OTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjIxLTgwOjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgzOjE3LTgzOjY4IiwKICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoyNi04Mzo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MzctODM6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo0OC04Mzo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6NTktODM6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjM3LTU5OjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjEtOTA6MTA3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvUmF0aW8iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQ2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9SYXRpbyIsIigiLCJyYXRpbyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlJhdGlvIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyYXRpbyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzIG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuICAgICAgICAiLCJudWxsIiwiXG4gICAgZWxzZVxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTeXN0ZW0iLCIuIiwiUmF0aW8iLCIgeyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm51bWVyYXRvciIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJhdGlvIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibnVtZXJhdG9yIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkZW5vbWluYXRvciIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJhdGlvIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGVub21pbmF0b3IiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIH0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6NS05MDoxMDciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo4LTg3OjIwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo4LTg3OjEyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJhdGlvIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVJhdGlvIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjktODg6MTIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6OS05MDoxMDciLAogICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVJhdGlvIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJudW1lcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjM1LTkwOjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo0Ni05MDo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJudW1lcmF0b3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo0Ni05MDo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYXRpbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRlbm9taW5hdG9yIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo3Ny05MDoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjg4LTkwOjEwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkZW5vbWluYXRvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjg4LTkwOjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJhdGlvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYXRpbyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODY6MzEtODY6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmF0aW8iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MS05Njo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI1OSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvSW50ZXJ2YWwiLCIoIiwicmFuZ2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJSYW5nZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmFuZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgIiwibnVsbCIsIlxuICAgIGVsc2VcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9RdWFudGl0eSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJhbmdlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibG93IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb1F1YW50aXR5IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmFuZ2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJoaWdoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1OCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo1LTk2OjYzIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6OC05MzoyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6OC05MzoxMiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjktOTQ6MTIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjktOTY6NjMiLAogICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjE4LTk2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyOS05NjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJsb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyOS05NjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6NDEtOTY6NjIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjUyLTk2OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Njo1Mi05Njo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyYW5nZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MzQtOTI6NDMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MS0xMDc6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjc4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9Db2RlIiwiKCIsImNvZGluZyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYwIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkNvZGluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAgICIsIm51bGwiLCJcbiAgICBlbHNlXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN5c3RlbSIsIi4iLCJDb2RlIiwiIHtcbiAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb2RpbmciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcbiAgICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN5c3RlbSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGluZyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN5c3RlbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG4gICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2ZXJzaW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmVyc2lvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsXG4gICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkaXNwbGF5IiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGlzcGxheSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgfSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo1LTEwNzo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6OC05OToyMSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6OC05OToxMyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Q29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6OS0xMDA6MTIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjktMTA3OjkiLAogICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxNy0xMDM6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTctMTAzOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTctMTAzOjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNDoxOS0xMDQ6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDQ6MTktMTA0OjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNDoxOS0xMDQ6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyMC0xMDU6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MjAtMTA1OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MjAtMTA1OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MjAtMTA2OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjIwLTEwNjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjIwLTEwNjoyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjMxLTk4OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6MS0xMTY6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjk0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9Db25jZXB0IiwiKCIsImNvbmNlcHQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJDb2RlYWJsZUNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgIiwibnVsbCIsIlxuICAgIGVsc2VcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3lzdGVtIiwiLiIsIkNvbmNlcHQiLCIge1xuICAgICAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb2RlcyIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29uY2VwdCIsIi4iLCJjb2RpbmciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9Db2RlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIixcbiAgICAgICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGlzcGxheSIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ0ZXh0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDo1LTExNjo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEwOjgtMTEwOjIyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6OC0xMTA6MTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMTo5LTExMToxMiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTM6OS0xMTY6OSIsCiAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Q29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZXMiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoyMC0xMTQ6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoyMC0xMTQ6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjIwLTExNDozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozNy0xMTQ6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjQ0LTExNDo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToyMi0xMTU6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MjItMTE1OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInRleHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MjItMTE1OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6MzUtMTA5OjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MS0xMjI6NjAiLAogICAgICAgICAgICAibmFtZSIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMwMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsInJlZmVyZW5jZSIsIigiLCJyZWZlcmVuY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZWZlcmVuY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBudWxsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICAgIiwibnVsbCIsIlxuICAgIGVsc2VcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVmZXJlbmNlIiwiIHsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZWZlcmVuY2UiLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0cmluZyIsIiB7ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJlZmVyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIH0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjUtMTIyOjYwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE5OjgtMTE5OjI0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6OC0xMTk6MTYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjktMTIwOjEyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo5LTEyMjo2MCIsCiAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6MzItMTIyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjQ4LTEyMjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjM3LTExODo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MS0xMjQ6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAicmVzb2x2ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzA2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwicmVzb2x2ZSIsIigiLCJyZWZlcmVuY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjM1LTEyNDo0MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6MS0xMjU6NzEiLAogICAgICAgICAgICAibmFtZSIgOiAicmVzb2x2ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzA5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwicmVzb2x2ZSIsIigiLCJyZWZlcmVuY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVmZXJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI1OjM1LTEyNTo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjEtMTI2OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwicmVmZXJlbmNlIiwiKCIsInJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVmZXJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjM2LTEyNjo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjc6MS0xMjc6ODYiLAogICAgICAgICAgICAibmFtZSIgOiAiZXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJleHRlbnNpb24iLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInVybCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzozNS0xMjc6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAidXJsIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjc6NDgtMTI3OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODoxLTEyODo4OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJleHRlbnNpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMyMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsImV4dGVuc2lvbiIsIigiLCJyZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ1cmwiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjM2LTEyODo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAidXJsIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6NTAtMTI4OjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOToxLTEyOTo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJoYXNWYWx1ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiaGFzVmFsdWUiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQm9vbGVhbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjM0LTEyOTo0MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoxLTEzMDo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJnZXRWYWx1ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiZ2V0VmFsdWUiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQW55IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzA6MzQtMTMwOjQwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTMxOjEtMTMxOjY5IiwKICAgICAgICAgICAgIm5hbWUiIDogIm9mVHlwZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwib2ZUeXBlIiwiKCIsImlkZW50aWZpZXIiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBbnkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkZW50aWZpZXIiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTozNS0xMzE6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTMyOjEtMTMyOjYzIiwKICAgICAgICAgICAgIm5hbWUiIDogImlzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJpcyIsIigiLCJpZGVudGlmaWVyIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkZW50aWZpZXIiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMjozMS0xMzI6MzYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTMzOjEtMTMzOjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogImFzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJhcyIsIigiLCJpZGVudGlmaWVyIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFueSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWRlbnRpZmllciIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMzOjMxLTEzMzozNiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0MSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6MS0xMzQ6ODYiLAogICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudERlZmluaXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM0MSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsImVsZW1lbnREZWZpbml0aW9uIiwiKCIsImVsZW1lbnQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnREZWZpbml0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6NDMtMTM0OjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjEtMTM1Ojk1IiwKICAgICAgICAgICAgIm5hbWUiIDogInNsaWNlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJzbGljZSIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwidXJsIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJuYW1lIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjMxLTEzNTozNyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1cmwiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo0NC0xMzU6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIm5hbWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQ0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo1Ny0xMzU6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjEtMTM2Ojc2IiwKICAgICAgICAgICAgIm5hbWUiIDogImNoZWNrTW9kaWZpZXJzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJjaGVja01vZGlmaWVycyIsIigiLCJyZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjQxLTEzNjo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MS0xMzc6OTMiLAogICAgICAgICAgICAibmFtZSIgOiAiY2hlY2tNb2RpZmllcnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM1NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsImNoZWNrTW9kaWZpZXJzIiwiKCIsInJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsIm1vZGlmaWVyIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjQxLTEzNzo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAibW9kaWZpZXIiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNzo2MC0xMzc6NjUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjEtMTM4OjczIiwKICAgICAgICAgICAgIm5hbWUiIDogImNoZWNrTW9kaWZpZXJzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJjaGVja01vZGlmaWVycyIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6NDAtMTM4OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjEtMTM5OjkwIiwKICAgICAgICAgICAgIm5hbWUiIDogImNoZWNrTW9kaWZpZXJzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHRlcm5hbCIgOiB0cnVlLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJjaGVja01vZGlmaWVycyIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwibW9kaWZpZXIiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2MCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjQwLTEzOTo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJtb2RpZmllciIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjU4LTEzOTo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6MS0xNDA6ODkiLAogICAgICAgICAgICAibmFtZSIgOiAiY29uZm9ybXNUbyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzY1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiY29uZm9ybXNUbyIsIigiLCJyZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJzdHJ1Y3R1cmUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQm9vbGVhbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDozNy0xNDA6NDQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInN0cnVjdHVyZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjU3LTE0MDo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2OSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MS0xNDE6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAibWVtYmVyT2YiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2OSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIm1lbWJlck9mIiwiKCIsImNvZGUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ2YWx1ZVNldCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MzEtMTQxOjM0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlU2V0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6NDYtMTQxOjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzczIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjoxLTE0Mjo4MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJtZW1iZXJPZiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwibWVtYmVyT2YiLCIoIiwiY29kaW5nIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvZGluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ2YWx1ZVNldCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzcyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzcwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjozMy0xNDI6MzgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZVNldCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjUwLTE0Mjo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3NyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDM6MS0xNDM6OTIiLAogICAgICAgICAgICAibmFtZSIgOiAibWVtYmVyT2YiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM3NyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIm1lbWJlck9mIiwiKCIsImNvbmNlcHQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZWFibGVDb25jZXB0IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInZhbHVlU2V0IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MzozNC0xNDM6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZVNldCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjYwLTE0Mzo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MS0xNDQ6ODgiLAogICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM4MSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsInN1YnN1bWVzIiwiKCIsImNvZGluZyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2RpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwic3Vic3VtZWRDb2RpbmciLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIHJldHVybnMgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQm9vbGVhbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOiBleHRlcm5hbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MzMtMTQ0OjM4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZWRDb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDo1Ni0xNDQ6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NToxLTE0NToxMDgiLAogICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4dGVybmFsIiA6IHRydWUsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM4NSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsInN1YnN1bWVzIiwiKCIsImNvbmNlcHQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZWFibGVDb25jZXB0IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInN1YnN1bWVkQ29uY2VwdCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2RlYWJsZUNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MzQtMTQ1OjQ4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZWRDb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6NjctMTQ1OjgxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4OSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDY6MS0xNDY6OTEiLAogICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZWRCeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzg5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwic3Vic3VtZWRCeSIsIigiLCJjb2RpbmciLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInN1YnN1bWluZ0NvZGluZyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2RpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjozNS0xNDY6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdWJzdW1pbmdDb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Njo1OS0xNDY6NjQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NzoxLTE0NzoxMTEiLAogICAgICAgICAgICAibmFtZSIgOiAic3Vic3VtZWRCeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzkzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwic3Vic3VtZWRCeSIsIigiLCJjb25jZXB0IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJzdWJzdW1pbmdDb25jZXB0IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSByZXR1cm5zICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjogZXh0ZXJuYWwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NzozNi0xNDc6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdWJzdW1pbmdDb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDc6NzAtMTQ3Ojg0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MS0xNDg6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiaHRtbENoZWNrcyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXh0ZXJuYWwiIDogdHJ1ZSwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiaHRtbENoZWNrcyIsIigiLCJlbGVtZW50IiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikgcmV0dXJucyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI6IGV4dGVybmFsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJlbGVtZW50IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MzYtMTQ4OjQyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsZW1lbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTUwOjEtMTUwOjU4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQwMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFjY291bnRTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MDo0OC0xNTA6NTgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6NDgtMTUwOjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUwOjMyLTE1MDo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BY2NvdW50U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MToxLTE1MTo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NjAtMTUxOjcwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjYwLTE1MTo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTozMi0xNTE6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWN0aW9uQ2FyZGluYWxpdHlCZWhhdmlvciIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTI6MS0xNTI6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWN0aW9uQ29uZGl0aW9uS2luZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUyOjU0LTE1Mjo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mjo1NC0xNTI6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTI6MzItMTUyOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFjdGlvbkNvbmRpdGlvbktpbmQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTUzOjEtMTUzOjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mzo1Ny0xNTM6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTM6NTctMTUzOjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUzOjMyLTE1Mzo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BY3Rpb25Hcm91cGluZ0JlaGF2aW9yIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NDoxLTE1NDo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NDo1Ni0xNTQ6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6NTYtMTU0OjYwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU0OjMyLTE1NDo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BY3Rpb25QYXJ0aWNpcGFudFR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU1OjEtMTU1OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NTo1Ny0xNTU6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTU6NTctMTU1OjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU1OjMyLTE1NTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BY3Rpb25QcmVjaGVja0JlaGF2aW9yIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NjoxLTE1Njo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBY3Rpb25SZWxhdGlvbnNoaXBUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTY6NTctMTU2OjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU2OjU3LTE1Njo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDIxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NjozMi0xNTY6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWN0aW9uUmVsYXRpb25zaGlwVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MS0xNTc6NjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWN0aW9uUmVxdWlyZWRCZWhhdmlvciIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3OjU3LTE1Nzo2NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo1Ny0xNTc6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MzItMTU3OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFjdGlvblJlcXVpcmVkQmVoYXZpb3IiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU4OjEtMTU4OjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQzMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFjdGlvblNlbGVjdGlvbkJlaGF2aW9yIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTg6NTgtMTU4OjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU4OjU4LTE1ODo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1ODozMi0xNTg6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWN0aW9uU2VsZWN0aW9uQmVoYXZpb3IiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjEtMTU5OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQzNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFjdGl2aXR5RGVmaW5pdGlvbktpbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OTo1Ny0xNTk6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTk6NTctMTU5OjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjMyLTE1OTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BY3Rpdml0eURlZmluaXRpb25LaW5kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDoxLTE2MDo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBY3Rpdml0eVBhcnRpY2lwYW50VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYwOjU4LTE2MDo2OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDo1OC0xNjA6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjA6MzItMTYwOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFjdGl2aXR5UGFydGljaXBhbnRUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQ0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MToxLTE2MTo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZGRyZXNzVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjQ2LTE2MTo1NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MTo0Ni0xNjE6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6MzItMTYxOjQyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFkZHJlc3NUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQ4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoxLTE2Mjo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQ1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZGRyZXNzVXNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6NDUtMTYyOjU1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjQ1LTE2Mjo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjozMi0xNjI6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWRkcmVzc1VzZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjM6MS0xNjM6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWRtaW5pc3RyYXRpdmVHZW5kZXIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Mzo1NS0xNjM6NjUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjM6NTUtMTYzOjU5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYzOjMyLTE2Mzo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZG1pbmlzdHJhdGl2ZUdlbmRlciIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjQ6MS0xNjQ6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDU2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDU1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjQ6NTYtMTY0OjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY0OjU2LTE2NDo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDozMi0xNjQ6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NToxLTE2NTo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2dyZWdhdGlvbk1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1MC0xNjU6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NTAtMTY1OjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1OjMyLTE2NTo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZ2dyZWdhdGlvbk1vZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjEtMTY2OjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ2NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjY6NjEtMTY2OjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjYxLTE2Njo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NjozMi0xNjY6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWxsZXJneUludG9sZXJhbmNlQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjEtMTY3Ojc0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ2OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6NjQtMTY3Ojc0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjY0LTE2Nzo2OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NzozMi0xNjc6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjEtMTY4OjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjg6NjEtMTY4OjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjYxLTE2ODo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2ODozMi0xNjg6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY5OjEtMTY5OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ3NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDc1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OTo1Ny0xNjk6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6NTctMTY5OjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY5OjMyLTE2OTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BbGxlcmd5SW50b2xlcmFuY2VUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDoxLTE3MDo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBcHBvaW50bWVudFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjUyLTE3MDo2MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDc4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDo1Mi0xNzA6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MzItMTcwOjQ4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFwcG9pbnRtZW50U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDg0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MToxLTE3MTo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDgxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBc3NlcnRpb25EaXJlY3Rpb25UeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6NTctMTcxOjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0ODIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcxOjU3LTE3MTo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MTozMi0xNzE6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QXNzZXJ0aW9uRGlyZWN0aW9uVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzI6MS0xNzI6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDg4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQXNzZXJ0aW9uT3BlcmF0b3JUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0ODciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ4NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzI6NTYtMTcyOjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0ODYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcyOjU2LTE3Mjo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjozMi0xNzI6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QXNzZXJ0aW9uT3BlcmF0b3JUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDkyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MzoxLTE3Mzo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDg5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBc3NlcnRpb25SZXNwb25zZVR5cGVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6NTctMTczOjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjU3LTE3Mzo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MzozMi0xNzM6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzQ6MS0xNzQ6NjEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQXVkaXRFdmVudEFjdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc0OjUxLTE3NDo2MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NDo1MS0xNzQ6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzQ6MzItMTc0OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUF1ZGl0RXZlbnRBY3Rpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjEtMTc1OjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUwMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzU6NjEtMTc1OjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjYxLTE3NTo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDk3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NTozMi0xNzU6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QXVkaXRFdmVudEFnZW50TmV0d29ya1R5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjEtMTc2OjYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUwNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkF1ZGl0RXZlbnRPdXRjb21lIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTAzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUwMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzY6NTItMTc2OjYyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjUyLTE3Njo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjozMi0xNzY6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QXVkaXRFdmVudE91dGNvbWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTc3OjEtMTc3OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUwOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJpbmRpbmdTdHJlbmd0aCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc3OjUwLTE3Nzo2MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3Nzo1MC0xNzc6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzc6MzItMTc3OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUJpbmRpbmdTdHJlbmd0aCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MS0xNzg6NzkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RDYXRlZ29yeSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjY5LTE3ODo3OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3ODo2OS0xNzg6NzMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUwOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MzItMTc4OjY1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0Q2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjEtMTc5Ojc3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6NjctMTc5Ojc3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjY3LTE3OTo3MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OTozMi0xNzk6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTgwOjEtMTgwOjgzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0U3RvcmFnZVNjYWxlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTE5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6NzMtMTgwOjgzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgwOjczLTE4MDo3NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTE3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MDozMi0xODA6NjkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RTdG9yYWdlU2NhbGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjEtMTgxOjU1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUyNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJ1bmRsZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTIzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MTo0NS0xODE6NTUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODE6NDUtMTgxOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjMyLTE4MTo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1CdW5kbGVUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoxLTE4Mjo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTI1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjU4LTE4Mjo2OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Mjo1OC0xODI6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6MzItMTgyOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNhcGFiaWxpdHlTdGF0ZW1lbnRLaW5kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MzoxLTE4Mzo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTI5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDYXJlUGxhbkFjdGl2aXR5S2luZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgzOjU1LTE4Mzo2NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTMwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Mzo1NS0xODM6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MzItMTgzOjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNhcmVQbGFuQWN0aXZpdHlLaW5kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NDoxLTE4NDo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTM1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUzNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODQ6NTctMTg0OjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg0OjU3LTE4NDo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NDozMi0xODQ6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q2FyZVBsYW5BY3Rpdml0eVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODU6MS0xODU6NTkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2FyZVBsYW5JbnRlbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NTo0OS0xODU6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUzOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODU6NDktMTg1OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg1OjMyLTE4NTo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1DYXJlUGxhbkludGVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODY6MS0xODY6NTkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTQ0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2FyZVBsYW5TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Njo0OS0xODY6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODY6NDktMTg2OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg2OjMyLTE4Njo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1DYXJlUGxhblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODc6MS0xODc6NTkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2FyZVRlYW1TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQ3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Nzo0OS0xODc6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODc6NDktMTg3OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjMyLTE4Nzo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1DYXJlVGVhbVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODg6MS0xODg6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2F0YWxvZ0VudHJ5UmVsYXRpb25UeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODg6NTktMTg4OjY5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg4OjU5LTE4ODo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQ5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4ODozMi0xODg6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q2F0YWxvZ0VudHJ5UmVsYXRpb25UeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTU2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OToxLTE4OTo4MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1NTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDaGFyZ2VJdGVtRGVmaW5pdGlvblByaWNlQ29tcG9uZW50VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg5OjczLTE4OTo4MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OTo3My0xODk6NzciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODk6MzItMTg5OjY5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNoYXJnZUl0ZW1EZWZpbml0aW9uUHJpY2VDb21wb25lbnRUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDoxLTE5MDo2MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1NjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDaGFyZ2VJdGVtU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTU5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTA6NTEtMTkwOjYxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjUxLTE5MDo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTU3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDozMi0xOTA6NDciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q2hhcmdlSXRlbVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6MS0xOTE6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2xhaW1SZXNwb25zZVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkxOjU0LTE5MTo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTYyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MTo1NC0xOTE6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6MzItMTkxOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNsYWltUmVzcG9uc2VTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjEtMTkyOjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU2OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNsYWltU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTI6NDYtMTkyOjU2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjQ2LTE5Mjo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MjozMi0xOTI6NDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q2xhaW1TdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjEtMTkzOjY5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjU5LTE5Mzo2OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTcwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Mzo1OS0xOTM6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTM6MzItMTkzOjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6MS0xOTQ6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTc2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZVNlYXJjaFN1cHBvcnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTc1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo1Mi0xOTQ6NjIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NTItMTk0OjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0OjMyLTE5NDo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlU2VhcmNoU3VwcG9ydCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU4MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6MS0xOTU6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTgwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZVN5c3RlbUNvbnRlbnRNb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6NTYtMTk1OjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjU2LTE5NTo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTc3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTozMi0xOTU6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZVN5c3RlbUNvbnRlbnRNb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTg0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NjoxLTE5Njo3MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTgxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1ODMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk2OjYxLTE5Njo3MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTgyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo2MS0xOTY6NjUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTY6MzItMTk2OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVTeXN0ZW1IaWVyYXJjaHlNZWFuaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTg4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NzoxLTE5Nzo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTg1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb21tdW5pY2F0aW9uUHJpb3JpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTg3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Nzo1Ni0xOTc6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTc6NTYtMTk3OjYwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1ODUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk3OjMyLTE5Nzo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db21tdW5pY2F0aW9uUHJpb3JpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjEtMTk4OjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU5MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1ODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTkxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6NjEtMTk4OjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjYxLTE5ODo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5ODozMi0xOTg6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29tbXVuaWNhdGlvblJlcXVlc3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTk5OjEtMTk5OjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbW11bmljYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTk1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5OTo1NC0xOTk6NjQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTk6NTQtMTk5OjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk5OjMyLTE5OTo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db21tdW5pY2F0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjAwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDoxLTIwMDo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2MDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb21wYXJ0bWVudENvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTk5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDo1MC0yMDA6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDA6NTAtMjAwOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAwOjMyLTIwMDo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db21wYXJ0bWVudENvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjEtMjAxOjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYwNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbXBhcnRtZW50VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjUwLTIwMTo2MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjAyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMTo1MC0yMDE6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYwMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDE6MzItMjAxOjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbXBhcnRtZW50VHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYwOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDI6MS0yMDI6NzEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29tcG9zaXRpb25BdHRlc3RhdGlvbk1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjA3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMjo2MS0yMDI6NzEiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYwNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDI6NjEtMjAyOjY1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAyOjMyLTIwMjo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDM6MS0yMDM6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29tcG9zaXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMzo1Mi0yMDM6NjIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDM6NTItMjAzOjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAzOjMyLTIwMzo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db21wb3NpdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6MS0yMDQ6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29uY2VwdE1hcEVxdWl2YWxlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6NTYtMjA0OjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA0OjU2LTIwNDo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDozMi0yMDQ6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uY2VwdE1hcEVxdWl2YWxlbmNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNToxLTIwNTo3MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2MjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjE3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTo2Mi0yMDU6NzIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6NjItMjA1OjY2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjMyLTIwNTo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjEtMjA2OjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYyNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbmRpdGlvbmFsRGVsZXRlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6NTgtMjA2OjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjU4LTIwNjo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjIxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjozMi0yMDY6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uYWxEZWxldGVTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjEtMjA3OjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYyOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjU2LTIwNzo2NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNzo1Ni0yMDc6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDc6MzItMjA3OjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbmFsUmVhZFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6MS0yMDg6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29uc2VudERhdGFNZWFuaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6NTMtMjA4OjYzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA4OjUzLTIwODo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwODozMi0yMDg6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uc2VudERhdGFNZWFuaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOToxLTIwOTo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2MzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25zZW50UHJvdmlzaW9uVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjU1LTIwOTo2NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOTo1NS0yMDk6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDk6MzItMjA5OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbnNlbnRQcm92aXNpb25UeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDoxLTIxMDo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2NDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb25zZW50U3RhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDo0Ny0yMTA6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTA6NDctMjEwOjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjMyLTIxMDo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25zZW50U3RhdGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjEtMjExOjYzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY0NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbnN0cmFpbnRTZXZlcml0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjUzLTIxMTo2MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMTo1My0yMTE6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTE6MzItMjExOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbnN0cmFpbnRTZXZlcml0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjY0OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6MS0yMTI6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29udGFjdFBvaW50U3lzdGVtIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6NTMtMjEyOjYzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjUzLTIxMjo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjozMi0yMTI6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29udGFjdFBvaW50U3lzdGVtIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjUyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMzoxLTIxMzo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjQ5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb250YWN0UG9pbnRVc2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMzo1MC0yMTM6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY1MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTM6NTAtMjEzOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjMyLTIxMzo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db250YWN0UG9pbnRVc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjE0OjEtMjE0OjcwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY1NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbnRyYWN0UHVibGljYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjU1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNDo2MC0yMTQ6NzAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY1NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTQ6NjAtMjE0OjY0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE0OjMyLTIxNDo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db250cmFjdFB1YmxpY2F0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNToxLTIxNTo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb250cmFjdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjQ5LTIxNTo1OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjU4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNTo0OS0yMTU6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY1NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTU6MzItMjE1OjQ1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbnRyYWN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjY0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjoxLTIxNjo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjYxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb250cmlidXRvclR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjYzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjo1MC0yMTY6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6NTAtMjE2OjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjMyLTIxNjo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db250cmlidXRvclR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjEtMjE3OjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY2OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvdmVyYWdlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTc6NDktMjE3OjU5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjQ5LTIxNzo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzozMi0yMTc6NDUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q292ZXJhZ2VTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEtMjE4OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkN1cnJlbmN5Q29kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjQ3LTIxODo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjcwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODo0Ny0yMTg6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTg6MzItMjE4OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUN1cnJlbmN5Q29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjY3NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTk6MS0yMTk6NTQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjc2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGF5T2ZXZWVrIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTk6NDQtMjE5OjU0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjQ0LTIxOTo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjczIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOTozMi0yMTk6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RGF5T2ZXZWVrIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDoxLTIyMDo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2ODAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEYXlzT2ZXZWVrIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjA6NDUtMjIwOjU1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIwOjQ1LTIyMDo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjc3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDozMi0yMjA6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RGF5c09mV2VlayIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjY4NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjE6MS0yMjE6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjg0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY4MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjE6NTYtMjIxOjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2ODIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIxOjU2LTIyMTo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMTozMi0yMjE6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjg4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMjoxLTIyMjo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2ODgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjg1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEZXRlY3RlZElzc3VlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2ODciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY4NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6NTQtMjIyOjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2ODYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIyOjU0LTIyMjo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMjozMi0yMjI6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RGV0ZWN0ZWRJc3N1ZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6MS0yMjM6NzMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjkyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2OTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjYzLTIyMzo3MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjkwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMzo2My0yMjM6NjciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6MzItMjIzOjU5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2OTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjEtMjI0OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRldmljZU1ldHJpY0NhbGlicmF0aW9uVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2OTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjYyLTIyNDo3MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNDo2Mi0yMjQ6NjYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6MzItMjI0OjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURldmljZU1ldHJpY0NhbGlicmF0aW9uVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MS0yMjU6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzAwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlTWV0cmljQ2F0ZWdvcnkiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjk5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTo1NS0yMjU6NjUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6NTUtMjI1OjU5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2OTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjMyLTIyNTo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EZXZpY2VNZXRyaWNDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjY6MS0yMjY6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzA0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlTWV0cmljQ29sb3IiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNjo1Mi0yMjY6NjIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjY6NTItMjI2OjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjMyLTIyNjo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EZXZpY2VNZXRyaWNDb2xvciIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjc6MS0yMjc6NzQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlTWV0cmljT3BlcmF0aW9uYWxTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzA3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNzo2NC0yMjc6NzQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjc6NjQtMjI3OjY4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI3OjMyLTIyNzo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjg6MS0yMjg6NTkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlTmFtZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyODo0OS0yMjg6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjg6NDktMjI4OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI4OjMyLTIyODo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EZXZpY2VOYW1lVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjk6MS0yMjk6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGV2aWNlUmVxdWVzdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI5OjU0LTIyOTo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzE0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyOTo1NC0yMjk6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjk6MzItMjI5OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURldmljZVJlcXVlc3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjEtMjMwOjY5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjcyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRldmljZVVzZVN0YXRlbWVudFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjU5LTIzMDo2OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzE4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMDo1OS0yMzA6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6MzItMjMwOjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURldmljZVVzZVN0YXRlbWVudFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MS0yMzE6NjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGlhZ25vc3RpY1JlcG9ydFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjU3LTIzMTo2NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMTo1Ny0yMzE6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MzItMjMxOjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURpYWdub3N0aWNSZXBvcnRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjEtMjMyOjYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjcyOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRpc2NyaW1pbmF0b3JUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6NTItMjMyOjYyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjUyLTIzMjo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzI1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMjozMi0yMzI6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RGlzY3JpbWluYXRvclR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjEtMjMzOjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjczMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvY3VtZW50Q29uZmlkZW50aWFsaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzM6NTgtMjMzOjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjU4LTIzMzo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzozMi0yMzM6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9jdW1lbnRDb25maWRlbnRpYWxpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjM0OjEtMjM0OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjczNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvY3VtZW50TW9kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM0OjQ3LTIzNDo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDo0Ny0yMzQ6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MzItMjM0OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURvY3VtZW50TW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MS0yMzU6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNTo1OC0yMzU6NjgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6NTgtMjM1OjYyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjMyLTIzNTo1NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Eb2N1bWVudFJlZmVyZW5jZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6MS0yMzY6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzQ0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9jdW1lbnRSZWxhdGlvbnNoaXBUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6NTktMjM2OjY5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM2OjU5LTIzNjo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzQxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjozMi0yMzY6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9jdW1lbnRSZWxhdGlvbnNoaXBUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzQ4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNzoxLTIzNzo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3NDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQ1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGlnaWJpbGl0eVJlcXVlc3RQdXJwb3NlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6NjAtMjM3OjcwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjYwLTIzNzo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNzozMi0yMzc6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxpZ2liaWxpdHlSZXF1ZXN0UHVycG9zZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzg6MS0yMzg6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzUxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc1MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzg6NTktMjM4OjY5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM4OjU5LTIzODo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzQ5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzODozMi0yMzg6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzU2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOToxLTIzOTo3MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3NTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGlnaWJpbGl0eVJlc3BvbnNlUHVycG9zZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM5OjYxLTIzOTo3MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo2MS0yMzk6NjUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc1MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzk6MzItMjM5OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVsaWdpYmlsaXR5UmVzcG9uc2VQdXJwb3NlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MDoxLTI0MDo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3NjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGlnaWJpbGl0eVJlc3BvbnNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzU5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDA6NjAtMjQwOjcwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQwOjYwLTI0MDo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzU3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MDozMi0yNDA6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxpZ2liaWxpdHlSZXNwb25zZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc2NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDE6MS0yNDE6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRW5hYmxlV2hlbkJlaGF2aW9yIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc2MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDE6NTMtMjQxOjYzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQxOjUzLTI0MTo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MTozMi0yNDE6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5hYmxlV2hlbkJlaGF2aW9yIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzY4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MjoxLTI0Mjo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3NjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzY1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc2NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQyOjU4LTI0Mjo2OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzY2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Mjo1OC0yNDI6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc2NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDI6MzItMjQyOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlckxvY2F0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzcyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MzoxLTI0Mzo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzY5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbmNvdW50ZXJTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzcxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Mzo1MC0yNDM6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc3MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDM6NTAtMjQzOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQzOjMyLTI0Mzo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXJTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjEtMjQ0OjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc3NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVuZHBvaW50U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6NDktMjQ0OjU5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjQ5LTI0NDo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzczIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDozMi0yNDQ6NDUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5kcG9pbnRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3ODAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ1OjEtMjQ1OjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc4MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVucm9sbG1lbnRSZXF1ZXN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6NTgtMjQ1OjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ1OjU4LTI0NTo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzc3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NTozMi0yNDU6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5yb2xsbWVudFJlcXVlc3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3ODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ2OjEtMjQ2OjY5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc4NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3ODEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkVucm9sbG1lbnRSZXNwb25zZVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc4MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3ODMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ2OjU5LTI0Njo2OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzgyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Njo1OS0yNDY6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDY6MzItMjQ2OjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVucm9sbG1lbnRSZXNwb25zZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjc4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MS0yNDc6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzg4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc4NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRXBpc29kZU9mQ2FyZVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc4NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3ODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3ODciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjU0LTI0Nzo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzg2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Nzo1NC0yNDc6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc4NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MzItMjQ3OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVwaXNvZGVPZkNhcmVTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ4OjEtMjQ4OjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc5MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3ODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkV2ZW50Q2FwYWJpbGl0eU1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzkxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0ODo1NC0yNDg6NjQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc5MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDg6NTQtMjQ4OjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3ODkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ4OjMyLTI0ODo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FdmVudENhcGFiaWxpdHlNb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzk2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OToxLTI0OTo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3OTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFdmVudFRpbWluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ5OjQ2LTI0OTo1NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OTo0Ni0yNDk6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MzItMjQ5OjQyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUV2ZW50VGltaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODAwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MDoxLTI1MDo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFdmlkZW5jZVZhcmlhYmxlVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUwOjU1LTI1MDo2NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MDo1NS0yNTA6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc5NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTA6MzItMjUwOjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUV2aWRlbmNlVmFyaWFibGVUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODA0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MToxLTI1MTo2OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODAxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFeGFtcGxlU2NlbmFyaW9BY3RvclR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MTo1OS0yNTE6NjkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgwMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTE6NTktMjUxOjYzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjMyLTI1MTo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FeGFtcGxlU2NlbmFyaW9BY3RvclR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjUyOjEtMjUyOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgwOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODA3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgwNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTI6NjEtMjUyOjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUyOjYxLTI1Mjo2NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODA1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MjozMi0yNTI6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RXhwbGFuYXRpb25PZkJlbmVmaXRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjUzOjEtMjUzOjU4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkV4cG9zdXJlU3RhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Mzo0OC0yNTM6NTgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6NDgtMjUzOjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUzOjMyLTI1Mzo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FeHBvc3VyZVN0YXRlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NDoxLTI1NDo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFeHRlbnNpb25Db250ZXh0VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU0OjU1LTI1NDo2NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODE0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NDo1NS0yNTQ6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTQ6MzItMjU0OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUV4dGVuc2lvbkNvbnRleHRUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NToxLTI1NTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODE3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSQWxsVHlwZXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NTo0Ny0yNTU6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTU6NDctMjU1OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU1OjMyLTI1NTo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1GSElSQWxsVHlwZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjEtMjU2OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgyNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJEZWZpbmVkVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgyMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjUwLTI1Njo2MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Njo1MC0yNTY6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6MzItMjU2OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUZISVJEZWZpbmVkVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjgyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTc6MS0yNTc6NjEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkRldmljZVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjUxLTI1Nzo2MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Nzo1MS0yNTc6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTc6MzItMjU3OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUZISVJEZXZpY2VTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjEtMjU4OjYxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgzMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJSZXNvdXJjZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1ODo1MS0yNTg6NjEiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTg6NTEtMjU4OjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjMyLTI1ODo0NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1GSElSUmVzb3VyY2VUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OToxLTI1OTo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODMzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSU3Vic3RhbmNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODM1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgzNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTk6NTQtMjU5OjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU5OjU0LTI1OTo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OTozMi0yNTk6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RkhJUlN1YnN0YW5jZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjA6MS0yNjA6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUlZlcnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDo0Ni0yNjA6NTYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgzOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjA6NDYtMjYwOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYwOjMyLTI2MDo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1GSElSVmVyc2lvbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjE6MS0yNjE6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODQ0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg0MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRmFtaWx5SGlzdG9yeVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg0MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYxOjU0LTI2MTo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo1NC0yNjE6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjE6MzItMjYxOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUZhbWlseUhpc3RvcnlTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjEtMjYyOjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg0OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZpbHRlck9wZXJhdG9yIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjI6NDktMjYyOjU5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjQ5LTI2Mjo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MjozMi0yNjI6NDUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RmlsdGVyT3BlcmF0b3IiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjEtMjYzOjU1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg1MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZsYWdTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0NS0yNjM6NTUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg1MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjM6NDUtMjYzOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjMyLTI2Mzo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1GbGFnU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODU2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NDoxLTI2NDo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJHb2FsTGlmZWN5Y2xlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODU1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjQ6NTQtMjY0OjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0OjU0LTI2NDo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODUzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NDozMi0yNjQ6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9R29hbExpZmVjeWNsZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6MS0yNjU6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODYwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiR3JhcGhDb21wYXJ0bWVudFJ1bGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NTo1NS0yNjU6NjUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg1OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6NTUtMjY1OjU5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjMyLTI2NTo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1HcmFwaENvbXBhcnRtZW50UnVsZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjY6MS0yNjY6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiR3JhcGhDb21wYXJ0bWVudFVzZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY2OjU0LTI2Njo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODYyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Njo1NC0yNjY6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjY6MzItMjY2OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUdyYXBoQ29tcGFydG1lbnRVc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjY3OjEtMjY3OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg2OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkdyb3VwTWVhc3VyZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY3OjQ3LTI2Nzo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODY2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Nzo0Ny0yNjc6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjc6MzItMjY3OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUdyb3VwTWVhc3VyZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjg6MS0yNjg6NTQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODcyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiR3JvdXBUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjg6NDQtMjY4OjU0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY4OjQ0LTI2ODo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2ODozMi0yNjg6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9R3JvdXBUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODc2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OToxLTI2OTo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4NzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjk6NTctMjY5OjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY5OjU3LTI2OTo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODczIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OTozMi0yNjk6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9R3VpZGFuY2VSZXNwb25zZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzA6MS0yNzA6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODgwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiR3VpZGVQYWdlR2VuZXJhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjU0LTI3MDo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODc4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo1NC0yNzA6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzA6MzItMjcwOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUd1aWRlUGFnZUdlbmVyYXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4ODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjcxOjEtMjcxOjYzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg4NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4ODEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkd1aWRlUGFyYW1ldGVyQ29kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4ODMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcxOjUzLTI3MTo2MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODgyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MTo1My0yNzE6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MzItMjcxOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUd1aWRlUGFyYW1ldGVyQ29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzI6MS0yNzI6NTMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODg4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSFRUUFZlcmIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4ODciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODg3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Mjo0My0yNzI6NTMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzI6NDMtMjcyOjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4ODUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcyOjMyLTI3MjozOSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1IVFRQVmVyYiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzM6MS0yNzM6NTgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODkyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSWRlbnRpZmllclVzZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4OTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjczOjQ4LTI3Mzo1OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODkwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Mzo0OC0yNzM6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzM6MzItMjczOjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUlkZW50aWZpZXJVc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4OTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjEtMjc0OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklkZW50aXR5QXNzdXJhbmNlTGV2ZWwiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODk1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NDo1Ny0yNzQ6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzQ6NTctMjc0OjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4OTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjMyLTI3NDo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JZGVudGl0eUFzc3VyYW5jZUxldmVsIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTAwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NToxLTI3NTo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbWFnaW5nU3R1ZHlTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODk5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NTo1My0yNzU6NjMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzU6NTMtMjc1OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4OTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc1OjMyLTI3NTo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbWFnaW5nU3R1ZHlTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc2OjEtMjc2OjczIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjkwNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Njo2My0yNzY6NzMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkwMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzY6NjMtMjc2OjY3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc2OjMyLTI3Njo1OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NzoxLTI3Nzo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTA1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbW11bml6YXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTA3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Nzo1My0yNzc6NjMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkwNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzc6NTMtMjc3OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjMyLTI3Nzo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb25TdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc4OjEtMjc4OjcwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjkxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkludm9pY2VQcmljZUNvbXBvbmVudFR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3ODo2MC0yNzg6NzAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzg6NjAtMjc4OjY0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc4OjMyLTI3ODo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbnZvaWNlUHJpY2VDb21wb25lbnRUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OToxLTI3OTo1OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5MTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnZvaWNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzk6NDgtMjc5OjU4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjQ4LTI3OTo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OTozMi0yNzk6NDQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9SW52b2ljZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MS0yODA6NTgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTIwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSXNzdWVTZXZlcml0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjQ4LTI4MDo1OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTE4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDo0OC0yODA6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MzItMjgwOjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUlzc3VlU2V2ZXJpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjEtMjgxOjU0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjkyNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklzc3VlVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjQ0LTI4MTo1NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MTo0NC0yODE6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6MzItMjgxOjQwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUlzc3VlVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODI6MS0yODI6NTMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlua1R5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTI3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mjo0My0yODI6NTMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODI6NDMtMjgyOjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgyOjMyLTI4MjozOSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1MaW5rVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjkzMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6MS0yODM6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlua2FnZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mzo0Ni0yODM6NTYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6NDYtMjgzOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjMyLTI4Mzo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1MaW5rYWdlVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjkzNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6MS0yODQ6NTMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdE1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NDo0My0yODQ6NTMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkzNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6NDMtMjg0OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg0OjMyLTI4NDozOSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1MaXN0TW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODU6MS0yODU6NTUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg1OjQ1LTI4NTo1NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NTo0NS0yODU6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkzNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODU6MzItMjg1OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUxpc3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjEtMjg2OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk0NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxvY2F0aW9uTW9kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjQ3LTI4Njo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Njo0Ny0yODY6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MzItMjg2OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUxvY2F0aW9uTW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODc6MS0yODc6NTkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTG9jYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTQ3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Nzo0OS0yODc6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODc6NDktMjg3OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjMyLTI4Nzo0NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Mb2NhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODg6MS0yODg6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVhc3VyZVJlcG9ydFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg4OjU0LTI4ODo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4ODo1NC0yODg6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODg6MzItMjg4OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lYXN1cmVSZXBvcnRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjg5OjEtMjg5OjYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk1NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lYXN1cmVSZXBvcnRUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTU1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6NTItMjg5OjYyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg5OjUyLTI4OTo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OTozMi0yODk6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVhc3VyZVJlcG9ydFR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjEtMjkwOjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk2MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lZGlhU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTU5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTA6NDYtMjkwOjU2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjQ2LTI5MDo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTU3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MDozMi0yOTA6NDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWFTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjkxOjEtMjkxOjc1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk2NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkxOjY1LTI5MTo3NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTYyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MTo2NS0yOTE6NjkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk2MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTE6MzItMjkxOjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk2OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6MS0yOTI6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTY4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk2NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6NTktMjkyOjY5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjU5LTI5Mjo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MjozMi0yOTI6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTcyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MzoxLTI5Mzo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5NzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTY5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZWRpY2F0aW9uS25vd2xlZGdlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTM6NjAtMjkzOjcwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjYwLTI5Mzo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MzozMi0yOTM6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbktub3dsZWRnZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTQ6MS0yOTQ6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTc2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTc1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NDo1OC0yOTQ6NjgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTQ6NTgtMjk0OjYyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjMyLTI5NDo1NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdEludGVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk4MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTU6MS0yOTU6NzAiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTgwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk1OjYwLTI5NTo3MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTc4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NTo2MC0yOTU6NjQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTU6MzItMjk1OjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5ODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjEtMjk2OjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk4NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5ODEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lZGljYXRpb25SZXF1ZXN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk4MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTY6NTgtMjk2OjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5ODIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjU4LTI5Njo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTgxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NjozMi0yOTY6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3RTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5ODgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjEtMjk3OjcwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk4OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5ODUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5ODciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTg3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Nzo2MC0yOTc6NzAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTc6NjAtMjk3OjY0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5ODUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjMyLTI5Nzo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTkyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODoxLTI5ODo2MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5OTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTg5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZWRpY2F0aW9uU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTkxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NTEtMjk4OjYxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5OTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjUxLTI5ODo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODozMi0yOTg6NDciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MS0yOTk6NzIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZVNpZ25pZmljYW5jZUNhdGVnb3J5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTk1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6NjItMjk5OjcyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5OTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjYyLTI5OTo2NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTkzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OTozMi0yOTk6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVzc2FnZVNpZ25pZmljYW5jZUNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAwMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6MS0zMDA6NzUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAwMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lc3NhZ2VoZWFkZXJfUmVzcG9uc2VfUmVxdWVzdCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5OTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjY1LTMwMDo3NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMDo2NS0zMDA6NjkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6MzItMzAwOjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lc3NhZ2VoZWFkZXJfUmVzcG9uc2VfUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzAxOjEtMzAxOjUzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwMDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAwMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWltZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAxOjQzLTMwMTo1MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAwMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDE6NDMtMzAxOjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMTozMi0zMDE6MzkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWltZVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMjoxLTMwMjo1MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk5hbWVVc2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDA3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAyOjQyLTMwMjo1MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAwNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDI6NDItMzAyOjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDA1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMjozMi0zMDI6MzgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TmFtZVVzZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjEtMzAzOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwMTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDExIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDExIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjYxLTMwMzo3MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6NjEtMzAzOjY1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDA5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzozMi0zMDM6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNDoxLTMwNDo2MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk5hbWluZ1N5c3RlbVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA0OjUxLTMwNDo2MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDQ6NTEtMzA0OjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNDozMi0zMDQ6NDciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TmFtaW5nU3lzdGVtVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA1OjEtMzA1OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTmFycmF0aXZlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNTo1MC0zMDU6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA1OjUwLTMwNTo1NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDU6MzItMzA1OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU5hcnJhdGl2ZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA2OjEtMzA2OjUzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTm90ZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA2OjQzLTMwNjo1MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAyMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDY6NDMtMzA2OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDIxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNjozMi0zMDY6MzkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Tm90ZVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNzoxLTMwNzo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk51dHJpdGlpb25PcmRlckludGVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDc6NTYtMzA3OjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNzo1Ni0zMDc6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA3OjMyLTMwNzo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1OdXRyaXRpaW9uT3JkZXJJbnRlbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwODoxLTMwODo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk51dHJpdGlvbk9yZGVyU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwODo1NS0zMDg6NjUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA4OjU1LTMwODo1OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAyOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDg6MzItMzA4OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU51dHJpdGlvbk9yZGVyU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAzNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6MS0zMDk6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAzNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDMzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPYnNlcnZhdGlvbkRhdGFUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOTo1NC0zMDk6NjQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA5OjU0LTMwOTo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAzMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6MzItMzA5OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uRGF0YVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMDoxLTMxMDo2OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMzciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9ic2VydmF0aW9uUmFuZ2VDYXRlZ29yeSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAzOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTA6NTktMzEwOjY5IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMDo1OS0zMTA6NjMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEwOjMyLTMxMDo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvblJhbmdlQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQ0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMToxLTMxMTo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQ0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9ic2VydmF0aW9uU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMTo1Mi0zMTE6NjIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzExOjUyLTMxMTo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTE6MzItMzExOjQ4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA0OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MS0zMTI6NTgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTA0OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQ1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPcGVyYXRpb25LaW5kIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQ3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo0OC0zMTI6NTgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEyOjQ4LTMxMjo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA0NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MzItMzEyOjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9wZXJhdGlvbktpbmQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDUyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMzoxLTMxMzo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9wZXJhdGlvblBhcmFtZXRlclVzZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA1MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NTYtMzEzOjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDUwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMzo1Ni0zMTM6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEzOjMyLTMxMzo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PcGVyYXRpb25QYXJhbWV0ZXJVc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDU2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNDoxLTMxNDo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDU2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9yaWVudGF0aW9uVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NTAtMzE0OjYwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNDo1MC0zMTQ6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE0OjMyLTMxNDo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PcmllbnRhdGlvblR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNToxLTMxNTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhcmFtZXRlclVzZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6NDctMzE1OjU3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDU4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNTo0Ny0zMTU6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjMyLTMxNTo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXJhbWV0ZXJVc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDY0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNjoxLTMxNjo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhcnRpY2lwYW50UmVxdWlyZWQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjU0LTMxNjo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA2MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTY6NTQtMzE2OjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNjozMi0zMTY6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGFydGljaXBhbnRSZXF1aXJlZCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjEtMzE3OjYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwNjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA2NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGFydGljaXBhbnRTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDY3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjUyLTMxNzo2MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA2NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTc6NTItMzE3OjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDY1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNzozMi0zMTc6NDgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGFydGljaXBhbnRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDcyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxODoxLTMxODo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDcyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhcnRpY2lwYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE4OjU0LTMxODo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NTQtMzE4OjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxODozMi0zMTg6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGFydGljaXBhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjEtMzE5OjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwNzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA3MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF5bWVudE5vdGljZVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTk6NTQtMzE5OjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOTo1NC0zMTk6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjMyLTMxOTo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXltZW50Tm90aWNlU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6MS0zMjA6NzIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTA4MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXltZW50UmVjb25jaWxpYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjYyLTMyMDo3MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6NjItMzIwOjY2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDc3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMDozMi0zMjA6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF5bWVudFJlY29uY2lsaWF0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6MS0zMjE6NjAiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTA4NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQcm9jZWR1cmVTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwODMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIxOjUwLTMyMTo2MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6NTAtMzIxOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDgxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTozMi0zMjE6NDYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjI6MS0zMjI6NjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTA4OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDg1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDg3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMjo1Ny0zMjI6NjciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwODYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIyOjU3LTMyMjo2MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjI6MzItMzIyOjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb3BlcnR5UmVwcmVzZW50YXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDkyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMzoxLTMyMzo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDkyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlByb3BlcnR5VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjM6NDctMzIzOjU3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDkwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMzo0Ny0zMjM6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwODkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIzOjMyLTMyMzo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9wZXJ0eVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDk2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDoxLTMyNDo2NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlByb3ZlbmFuY2VFbnRpdHlSb2xlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDk1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDo1NS0zMjQ6NjUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwOTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjU1LTMyNDo1OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjQ6MzItMzI0OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb3ZlbmFuY2VFbnRpdHlSb2xlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6MS0zMjU6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTEwMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQdWJsaWNhdGlvblN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6NTItMzI1OjYyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo1Mi0zMjU6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI1OjMyLTMyNTo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QdWJsaWNhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjEtMzI2OjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExMDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUXVhbGl0eVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjQ2LTMyNjo1NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjY6NDYtMzI2OjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjozMi0zMjY6NDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbGl0eVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzoxLTMyNzo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlF1YW50aXR5Q29tcGFyYXRvciIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NTMtMzI3OjYzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzo1My0zMjc6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjMyLTMyNzo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1RdWFudGl0eUNvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTEyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODoxLTMyODo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTExIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjYwLTMyODo3MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTExMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NjAtMzI4OjY0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTA5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODozMi0zMjg6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVlc3Rpb25uYWlyZUl0ZW1PcGVyYXRvciIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjEtMzI5OjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExMTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTE1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOTo1Ni0zMjk6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjU2LTMyOTo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTExMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6MzItMzI5OjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjEtMzMwOjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExMjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo2Mi0zMzA6NzIiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjYyLTMzMDo2NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTExNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6MzItMzMwOjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjEtMzMxOjY4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVmZXJlbmNlSGFuZGxpbmdQb2xpY3kiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjU4LTMzMTo2OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEyMiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NTgtMzMxOjYyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTIxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTozMi0zMzE6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlSGFuZGxpbmdQb2xpY3kiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjoxLTMzMjo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlZmVyZW5jZVZlcnNpb25SdWxlcyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6NTYtMzMyOjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo1Ni0zMzI6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjMyLTMzMjo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2VWZXJzaW9uUnVsZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzoxLTMzMzo2NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlZmVycmVkRG9jdW1lbnRTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjU3LTMzMzo2NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzM6NTctMzMzOjYxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzozMi0zMzM6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJyZWREb2N1bWVudFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM0OjEtMzM0OjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExMzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEzMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVsYXRlZEFydGlmYWN0VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEzNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzQ6NTQtMzM0OjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNDo1NC0zMzQ6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM0OjMyLTMzNDo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWxhdGVkQXJ0aWZhY3RUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6MS0zMzU6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTE0MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZW1pdHRhbmNlT3V0Y29tZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEzOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NTItMzM1OjYyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNTo1Mi0zMzU6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM1OjMyLTMzNTo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZW1pdHRhbmNlT3V0Y29tZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM2OjEtMzM2OjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE0MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVwb3NpdG9yeVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM2OjQ5LTMzNjo1OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzY6NDktMzM2OjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTQxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNjozMi0zMzY6NDUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVwb3NpdG9yeVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTQ4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNzoxLTMzNzo1OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlcXVlc3RJbnRlbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM3OjQ4LTMzNzo1OCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzc6NDgtMzM3OjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTQ1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNzozMi0zMzc6NDQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVxdWVzdEludGVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM4OjEtMzM4OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVxdWVzdFByaW9yaXR5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzODo1MC0zMzg6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM4OjUwLTMzODo1NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzg6MzItMzM4OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlcXVlc3RQcmlvcml0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM5OjEtMzM5OjU4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVxdWVzdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE1NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzk6NDgtMzM5OjU4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOTo0OC0zMzk6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM5OjMyLTMzOTo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6MS0zNDA6NjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTE2MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSZXNlYXJjaEVsZW1lbnRUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MDo1NC0zNDA6NjQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQwOjU0LTM0MDo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE1NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6MzItMzQwOjUwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc2VhcmNoRWxlbWVudFR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTY0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MToxLTM0MTo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlJlc2VhcmNoU3R1ZHlTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQxOjU0LTM0MTo2NCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDE6NTQtMzQxOjU4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MTozMi0zNDE6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVzZWFyY2hTdHVkeVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQyOjEtMzQyOjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzZWFyY2hTdWJqZWN0U3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTY3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Mjo1Ni0zNDI6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQyOjU2LTM0Mjo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDI6MzItMzQyOjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc2VhcmNoU3ViamVjdFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQzOjEtMzQzOjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzb3VyY2VUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTcxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Mzo0Ny0zNDM6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQzOjQ3LTM0Mzo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6MzItMzQzOjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc291cmNlVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ0OjEtMzQ0OjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExNzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzb3VyY2VWZXJzaW9uUG9saWN5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTc1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0NDo1Ni0zNDQ6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ0OjU2LTM0NDo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE3MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDQ6MzItMzQ0OjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc291cmNlVmVyc2lvblBvbGljeSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExODAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ1OjEtMzQ1OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExODAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzcG9uc2VUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTc5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0NTo0Ny0zNDU6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ1OjQ3LTM0NTo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE3NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDU6MzItMzQ1OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc3BvbnNlVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ2OjEtMzQ2OjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExODQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmVzdGZ1bENhcGFiaWxpdHlNb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTgzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Njo1Ni0zNDY6NjYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExODIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ2OjU2LTM0Njo2MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDY6MzItMzQ2OjUyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlc3RmdWxDYXBhYmlsaXR5TW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExODgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ3OjEtMzQ3OjY1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExODgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUmlza0Fzc2Vzc21lbnRTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExODciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ3OjU1LTM0Nzo2NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDc6NTUtMzQ3OjU5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0NzozMi0zNDc6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Umlza0Fzc2Vzc21lbnRTdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTkyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0ODoxLTM0ODo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTkyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNQRFhMaWNlbnNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTkxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0ODo0Ni0zNDg6NTYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExOTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjQ2LTM0ODo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6MzItMzQ4OjQyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNQRFhMaWNlbnNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDk6MS0zNDk6NjEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTE5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTZWFyY2hDb21wYXJhdG9yIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTk1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OTo1MS0zNDk6NjEiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExOTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ5OjUxLTM0OTo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDk6MzItMzQ5OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlYXJjaENvbXBhcmF0b3IiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjAwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDoxLTM1MDo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjAwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNlYXJjaEVudHJ5TW9kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE5OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTA6NTAtMzUwOjYwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDo1MC0zNTA6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUwOjMyLTM1MDo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZWFyY2hFbnRyeU1vZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjA0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MToxLTM1MTo2MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjA0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNlYXJjaE1vZGlmaWVyQ29kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTE6NTMtMzUxOjYzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjAyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MTo1My0zNTE6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUxOjMyLTM1MTo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZWFyY2hNb2RpZmllckNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MjoxLTM1Mjo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNlYXJjaFBhcmFtVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTI6NTAtMzUyOjYwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Mjo1MC0zNTI6NTQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUyOjMyLTM1Mjo0NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZWFyY2hQYXJhbVR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjEyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MzoxLTM1Mzo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjEyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMDkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNlY3Rpb25Nb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Mzo0Ni0zNTM6NTYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUzOjQ2LTM1Mzo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTM6MzItMzUzOjQyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlY3Rpb25Nb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTQ6MS0zNTQ6NTciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTIxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTZXF1ZW5jZVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU0OjQ3LTM1NDo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTQ6NDctMzU0OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NDozMi0zNTQ6NDMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VxdWVuY2VUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6MS0zNTU6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTIyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjE3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTZXJ2aWNlUmVxdWVzdEludGVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIxOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6NTUtMzU1OjY1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjE4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTo1NS0zNTU6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU1OjMyLTM1NTo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdEludGVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU2OjEtMzU2OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU2VydmljZVJlcXVlc3RQcmlvcml0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTY6NTctMzU2OjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Njo1Ny0zNTY6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU2OjMyLTM1Njo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTc6MS0zNTc6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTIyOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjI1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTZXJ2aWNlUmVxdWVzdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTc6NTUtMzU3OjY1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Nzo1NS0zNTc6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU3OjMyLTM1Nzo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU4OjEtMzU4OjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU2xpY2luZ1J1bGVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo0Ny0zNTg6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU4OjQ3LTM1ODo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTg6MzItMzU4OjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNsaWNpbmdSdWxlcyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU5OjEtMzU5OjU1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU2xvdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIzNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTk6NDUtMzU5OjU1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OTo0NS0zNTk6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU5OjMyLTM1OTo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TbG90U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6MS0zNjA6NTgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI0MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTb3J0RGlyZWN0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDo0OC0zNjA6NTgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYwOjQ4LTM2MDo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIzNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6MzItMzYwOjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNvcnREaXJlY3Rpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQ0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MToxLTM2MTo3MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjQ0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNwZWNpbWVuQ29udGFpbmVkUHJlZmVyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI0MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjE6NjItMzYxOjcyIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MTo2Mi0zNjE6NjYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYxOjMyLTM2MTo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TcGVjaW1lbkNvbnRhaW5lZFByZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQ4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MjoxLTM2Mjo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNwZWNpbWVuU3RhdHVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQ3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2Mjo0OS0zNjI6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYyOjQ5LTM2Mjo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI0NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjI6MzItMzYyOjQ1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNwZWNpbWVuU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjM6MS0zNjM6NTEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI1MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjQ5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYzOjQxLTM2Mzo1MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjM6NDEtMzYzOjQ1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQ5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MzozMi0zNjM6MzciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjQ6MS0zNjQ6NTUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI1NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJhbmRUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjU1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NDo0NS0zNjQ6NTUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY0OjQ1LTM2NDo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjQ6MzItMzY0OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVN0cmFuZFR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NToxLTM2NTo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjYwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NTo1OC0zNjU6NjgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY1OjU4LTM2NTo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI1NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6MzItMzY1OjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVN0cnVjdHVyZURlZmluaXRpb25LaW5kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI2NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjY6MS0zNjY6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI2NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjYxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI2MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjY6NTgtMzY2OjY4IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjYyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2Njo1OC0zNjY6NjIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY2OjMyLTM2Njo1NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzY3OjEtMzY3OjcwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI2NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI2NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjc6NjAtMzY3OjcwIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjY2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2Nzo2MC0zNjc6NjQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY3OjMyLTM2Nzo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjg6MS0zNjg6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjY5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJ1Y3R1cmVNYXBJbnB1dE1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjcxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY4OjU2LTM2ODo2NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjg6NTYtMzY4OjYwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2ODozMi0zNjg6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3RydWN0dXJlTWFwSW5wdXRNb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjk6MS0zNjk6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI3NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJ1Y3R1cmVNYXBNb2RlbE1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY5OjU2LTM2OTo2NiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjk6NTYtMzY5OjYwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjczIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTozMi0zNjk6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3RydWN0dXJlTWFwTW9kZWxNb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzA6MS0zNzA6NzEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI4MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjc3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzA6NjEtMzcwOjcxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjc4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MDo2MS0zNzA6NjUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzcwOjMyLTM3MDo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyODQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzcxOjEtMzcxOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyODQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI4MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RydWN0dXJlTWFwVGFyZ2V0TGlzdE1vZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyODMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzcxOjYxLTM3MTo3MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzE6NjEtMzcxOjY1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjgxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MTozMi0zNzE6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3RydWN0dXJlTWFwVGFyZ2V0TGlzdE1vZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjg4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MjoxLTM3Mjo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjg4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzI6NTYtMzcyOjY2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjg2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3Mjo1Ni0zNzI6NjAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyODUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzcyOjMyLTM3Mjo1MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdHJ1Y3R1cmVNYXBUcmFuc2Zvcm0iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjkyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MzoxLTM3Mzo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjkyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI5MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjkxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3Mzo1OC0zNzM6NjgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzczOjU4LTM3Mzo2MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzM6MzItMzczOjU0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6MS0zNzQ6NjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTI5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdWJzY3JpcHRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjk1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc0OjUzLTM3NDo2MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6NTMtMzc0OjU3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjkzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3NDozMi0zNzQ6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3Vic2NyaXB0aW9uU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMwMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzU6MS0zNzU6NjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMwMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdXBwbHlEZWxpdmVyeVN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI5OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzU6NTUtMzc1OjY1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3NTo1NS0zNzU6NTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc1OjMyLTM3NTo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdXBwbHlEZWxpdmVyeVN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzc2OjEtMzc2OjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzMDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMwMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3VwcGx5UmVxdWVzdFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMwMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzY6NTQtMzc2OjY0IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3Njo1NC0zNzY6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc2OjMyLTM3Njo1MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TdXBwbHlSZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMwOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzc6MS0zNzc6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMwOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc3OjU5LTM3Nzo2OSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMwNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzc6NTktMzc3OjYzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzA1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3NzozMi0zNzc6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U3lzdGVtUmVzdGZ1bEludGVyYWN0aW9uIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMxMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzg6MS0zNzg6NTUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzA5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUYXNrSW50ZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMxMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3ODo0NS0zNzg6NTUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMTAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc4OjQ1LTM3ODo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMwOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzg6MzItMzc4OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRhc2tJbnRlbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3OToxLTM3OTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRhc2tQcmlvcml0eSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzk6NDctMzc5OjU3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzE0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3OTo0Ny0zNzk6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzc5OjMyLTM3OTo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UYXNrUHJpb3JpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4MDoxLTM4MDo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzIwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRhc2tTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzE5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzgwOjQ1LTM4MDo1NSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODA6NDUtMzgwOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzE3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4MDozMi0zODA6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9VGFza1N0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzgxOjEtMzgxOjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVGVzdFJlcG9ydEFjdGlvblJlc3VsdCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMyMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODE6NTctMzgxOjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4MTo1Ny0zODE6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzgxOjMyLTM4MTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UZXN0UmVwb3J0QWN0aW9uUmVzdWx0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODI6MS0zODI6NzAiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMyOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzI1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUZXN0UmVwb3J0UGFydGljaXBhbnRUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzI3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4Mjo2MC0zODI6NzAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzgyOjYwLTM4Mjo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMyNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODI6MzItMzgyOjU2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4MzoxLTM4Mzo2MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRlc3RSZXBvcnRSZXN1bHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzgzOjUxLTM4Mzo2MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODM6NTEtMzgzOjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4MzozMi0zODM6NDciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9VGVzdFJlcG9ydFJlc3VsdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzg0OjEtMzg0OjYxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzMzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMzMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVGVzdFJlcG9ydFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMzNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODQ6NTEtMzg0OjYxIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4NDo1MS0zODQ6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg0OjMyLTM4NDo0NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UZXN0UmVwb3J0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM0MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODU6MS0zODU6NzIiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM0MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzM5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMzkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg1OjYyLTM4NTo3MiIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMzOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODU6NjItMzg1OjY2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzM3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4NTozMi0zODU6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM0NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODY6MS0zODY6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzQxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUcmlnZ2VyVHlwZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNDMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM0MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODY6NDYtMzg2OjU2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4Njo0Ni0zODY6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg2OjMyLTM4Njo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UcmlnZ2VyVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzg3OjEtMzg3OjYzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzNDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVHlwZURlcml2YXRpb25SdWxlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQ3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4Nzo1My0zODc6NjMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg3OjUzLTM4Nzo1NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM0NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODc6MzItMzg3OjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVR5cGVEZXJpdmF0aW9uUnVsZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzg4OjEtMzg4OjY3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVHlwZVJlc3RmdWxJbnRlcmFjdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODg6NTctMzg4OjY3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4ODo1Ny0zODg6NjEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg4OjMyLTM4ODo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UeXBlUmVzdGZ1bEludGVyYWN0aW9uIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODk6MS0zODk6NTciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM1NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJVRElFbnRyeVR5cGUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzU1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg5OjQ3LTM4OTo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODk6NDctMzg5OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OTozMi0zODk6NDMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9VURJRW50cnlUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTA6MS0zOTA6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJVbml0c09mVGltZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTA6NDYtMzkwOjU2IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzU4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5MDo0Ni0zOTA6NTAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzkwOjMyLTM5MDo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Vbml0c09mVGltZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzkxOjEtMzkxOjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzNjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVXNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzYzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5MTozOC0zOTE6NDgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzkxOjM4LTM5MTo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTE6MzItMzkxOjM0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVVzZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzkyOjEtMzkyOjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzNjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVmFyaWFibGVUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzY3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5Mjo0Ny0zOTI6NTciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzkyOjQ3LTM5Mjo1MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTI6MzItMzkyOjQzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVZhcmlhYmxlVHlwZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzkzOjEtMzkzOjU1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVmlzaW9uQmFzZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM3MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTM6NDUtMzkzOjU1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzcwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5Mzo0NS0zOTM6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzkzOjMyLTM5Mzo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1WaXNpb25CYXNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM3NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTQ6MS0zOTQ6NTUiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM3NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJWaXNpb25FeWVzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzc1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5NDo0NS0zOTQ6NTUiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk0OjQ1LTM5NDo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM3MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTQ6MzItMzk0OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVZpc2lvbkV5ZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzgwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5NToxLTM5NTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzgwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlZpc2lvblN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTU6NDctMzk1OjU3IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzc4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5NTo0Ny0zOTU6NTEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk1OjMyLTM5NTo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1WaXNpb25TdGF0dXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzg0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5NjoxLTM5Njo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9TdHJpbmciLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzODEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlhQYXRoVXNhZ2VUeXBlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM4MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzgzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5Njo0OS0zOTY6NTkiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzODIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk2OjQ5LTM5Njo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTY6MzItMzk2OjQ1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVhQYXRoVXNhZ2VUeXBlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTc6MS0zOTc6NTciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM4OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiYXNlNjRCaW5hcnkiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzODciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk3OjQ3LTM5Nzo1NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTc6NDctMzk3OjUxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5NzozMi0zOTc6NDMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9YmFzZTY0QmluYXJ5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM5MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTg6MS0zOTg6NTMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9Cb29sZWFuIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzOTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb0Jvb2xlYW4iLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk4OjQzLTM5ODo1MyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM5MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTg6NDMtMzk4OjQ3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5ODozMy0zOTg6MzkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzk5OjEtMzk5OjQ3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9EYXRlIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzk1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OTozNy0zOTk6NDciLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzk5OjM3LTM5OTo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTk6MzAtMzk5OjMzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMDoxLTQwMDo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0MDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb0RhdGVUaW1lIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzk3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM5OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDA6NDUtNDAwOjU1IiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzk4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMDo0NS00MDA6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDAwOjM0LTQwMDo0MSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDAxOjEtNDAxOjUzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvRGVjaW1hbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDA0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9EZWNpbWFsIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDAxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkZWNpbWFsIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMTo0My00MDE6NTMiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MDIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDAxOjQzLTQwMTo0NyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQwMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDE6MzMtNDAxOjM5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRlY2ltYWwiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMjoxLTQwMjo1NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0MDgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb0RhdGVUaW1lIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDA1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpbnN0YW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDA3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMjo0NC00MDI6NTQiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDAyOjQ0LTQwMjo0OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDI6MzQtNDAyOjQwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWluc3RhbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMzoxLTQwMzo1MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0ludGVnZXIiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTQxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvSW50ZWdlciIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaW50ZWdlciIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTogIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDM6NDMtNDAzOjUzIiwKICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwMzo0My00MDM6NDciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MDkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDAzOjMzLTQwMzozOSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1pbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDQ6MS00MDQ6NTEiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTQxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIlRvU3RyaW5nIiwiKCIsInZhbHVlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA0OjQxLTQwNDo1MSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDQ6NDEtNDA0OjQ1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwNDozMi00MDQ6MzciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQyMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDU6MS00MDU6NDciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9UaW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0MjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1RpbWUiLCIoIiwidmFsdWUiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MTkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA1OjM3LTQwNTo0NyIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDU6MzctNDA1OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDE3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwNTozMC00MDU6MzMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9dGltZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA2OjEtNDA2OjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0MjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJpIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwNjozOC00MDY6NDgiLAogICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA2OjM4LTQwNjo0MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQyMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDY6MzItNDA2OjM0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXVyaSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA3OjEtNDA3OjUwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0MjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb1N0cmluZyIsIigiLCJ2YWx1ZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAieGh0bWwiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA3OjQwLTQwNzo1MCIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDc6NDAtNDA3OjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDI1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwNzozMi00MDc6MzYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9eGh0bWwiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon-2.json new file mode 100644 index 0000000000..b17f120eb2 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon-2.json @@ -0,0 +1,5843 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "444", + "s" : [ { + "value" : [ "","library IMMZCommon" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZCommon", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "3:1-3:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "5:1-5:29", + "localIdentifier" : "WCom", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOCommon" ] + } ] + }, { + "value" : [ " called ","WCom" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "6:1-6:31", + "localIdentifier" : "Wcon", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOConcepts" ] + } ] + }, { + "value" : [ " called ","Wcon" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "7:1-7:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "8:1-8:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "9:1-9:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + } ] + }, + "codes" : { + "def" : [ { + "localId" : "8", + "locator" : "12:1-12:81", + "name" : "[#] Births total", + "id" : "11640-0", + "display" : "Pregnancy outcome", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","code ","\"[#] Births total\"",": ","'11640-0'"," from " ] + }, { + "r" : "7", + "s" : [ { + "value" : [ "IMMZc",".","\"LOINC\"" ] + } ] + }, { + "value" : [ " display ","'Pregnancy outcome'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "7", + "locator" : "12:41-12:53", + "name" : "LOINC", + "libraryName" : "IMMZc" + } + }, { + "localId" : "10", + "locator" : "13:1-13:73", + "name" : "[#] Births.preterm", + "id" : "11637-6", + "display" : "Preterm", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "value" : [ "","code ","\"[#] Births.preterm\"",": ","'11637-6'"," from " ] + }, { + "r" : "9", + "s" : [ { + "value" : [ "IMMZc",".","\"LOINC\"" ] + } ] + }, { + "value" : [ " display ","'Preterm'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "9", + "locator" : "13:43-13:55", + "name" : "LOINC", + "libraryName" : "IMMZc" + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "14:1-14:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "14:1-14:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "12", + "locator" : "19:1-20:16", + "name" : "Get Immunization", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "12", + "s" : [ { + "value" : [ "//TODO: Check patient is alive\n\n//Get patient immunizations\n","define ","\"Get Immunization\"",":\n " ] + }, { + "r" : "11", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "11", + "locator" : "20:3-20:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + }, { + "localId" : "19", + "locator" : "23:1-25:19", + "name" : "Immunization Status", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "19", + "s" : [ { + "value" : [ "// check vaccine status\n","define ","\"Immunization Status\"",":\n " ] + }, { + "r" : "18", + "s" : [ { + "s" : [ { + "r" : "14", + "s" : [ { + "r" : "13", + "s" : [ { + "r" : "13", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "16", + "s" : [ { + "r" : "15", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "16", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "18", + "locator" : "24:3-25:19", + "type" : "Query", + "source" : [ { + "localId" : "14", + "locator" : "24:3-24:18", + "alias" : "I", + "expression" : { + "localId" : "13", + "locator" : "24:3-24:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "17", + "locator" : "25:5-25:19", + "expression" : { + "localId" : "16", + "locator" : "25:12-25:19", + "path" : "status", + "scope" : "I", + "type" : "Property" + } + } + } + }, { + "localId" : "28", + "locator" : "28:1-30:35", + "name" : "Immunization Completed", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "value" : [ "//check Immunization.status for not-done\n","define ","\"Immunization Completed\"",":\n " ] + }, { + "r" : "27", + "s" : [ { + "s" : [ { + "r" : "21", + "s" : [ { + "r" : "20", + "s" : [ { + "r" : "20", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "26", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "26", + "s" : [ { + "r" : "23", + "s" : [ { + "r" : "22", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "25", + "s" : [ { + "value" : [ "{" ] + }, { + "r" : "24", + "s" : [ { + "value" : [ "'completed'" ] + } ] + }, { + "value" : [ "}" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "27", + "locator" : "29:3-30:35", + "type" : "Query", + "source" : [ { + "localId" : "21", + "locator" : "29:3-29:18", + "alias" : "I", + "expression" : { + "localId" : "20", + "locator" : "29:3-29:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "26", + "locator" : "30:5-30:35", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "23", + "locator" : "30:11-30:18", + "path" : "status", + "scope" : "I", + "type" : "Property" + } ] + }, { + "localId" : "25", + "locator" : "30:23-30:35", + "type" : "List", + "element" : [ { + "localId" : "24", + "locator" : "30:24-30:34", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "completed", + "type" : "Literal" + } ] + } ] + } + } + }, { + "localId" : "37", + "locator" : "33:1-35:34", + "name" : "Immunization Not Done", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "37", + "s" : [ { + "value" : [ "//check Immunization.status for not-done\n","define ","\"Immunization Not Done\"",":\n " ] + }, { + "r" : "36", + "s" : [ { + "s" : [ { + "r" : "30", + "s" : [ { + "r" : "29", + "s" : [ { + "r" : "29", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "35", + "s" : [ { + "r" : "32", + "s" : [ { + "r" : "31", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "32", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "34", + "s" : [ { + "value" : [ "{" ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "'not-done'" ] + } ] + }, { + "value" : [ "}" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "36", + "locator" : "34:3-35:34", + "type" : "Query", + "source" : [ { + "localId" : "30", + "locator" : "34:3-34:18", + "alias" : "I", + "expression" : { + "localId" : "29", + "locator" : "34:3-34:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "35", + "locator" : "35:5-35:34", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "32", + "locator" : "35:11-35:18", + "path" : "status", + "scope" : "I", + "type" : "Property" + } ] + }, { + "localId" : "34", + "locator" : "35:23-35:34", + "type" : "List", + "element" : [ { + "localId" : "33", + "locator" : "35:24-35:33", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "not-done", + "type" : "Literal" + } ] + } ] + } + } + }, { + "localId" : "44", + "locator" : "40:1-42:25", + "name" : "Immunization StatusReason", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "44", + "s" : [ { + "value" : [ "//how do we handle entered-in-error? It seems like it should be different from not-done in how it should be handled? These should be ignored so we likely don't need to check for them. We should maybe set these to check for statuses like complete, or amended \n\n//check vaccine status reason - e.g. if vaccine was not given\n","define ","\"Immunization StatusReason\"",":\n " ] + }, { + "r" : "43", + "s" : [ { + "s" : [ { + "r" : "39", + "s" : [ { + "r" : "38", + "s" : [ { + "r" : "38", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "42", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "41", + "s" : [ { + "r" : "40", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "41", + "s" : [ { + "value" : [ "statusReason" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "43", + "locator" : "41:3-42:25", + "type" : "Query", + "source" : [ { + "localId" : "39", + "locator" : "41:3-41:18", + "alias" : "I", + "expression" : { + "localId" : "38", + "locator" : "41:3-41:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "42", + "locator" : "42:5-42:25", + "expression" : { + "localId" : "41", + "locator" : "42:12-42:25", + "path" : "statusReason", + "scope" : "I", + "type" : "Property" + } + } + } + }, { + "localId" : "46", + "locator" : "49:1-50:15", + "name" : "Get Observations", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "46", + "s" : [ { + "value" : [ "//define statusReason Immunizations for when it was not given\n\n//Procedure for vaccine administration\n\n//Get patient observations. Do we need this statement to get all Observations?\n","define ","\"Get Observations\"",":\n " ] + }, { + "r" : "45", + "s" : [ { + "value" : [ "[","Observation","]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "45", + "locator" : "50:3-50:15", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "type" : "Retrieve" + } + }, { + "localId" : "57", + "locator" : "54:1-57:74", + "name" : "Pregnant Observation", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "57", + "s" : [ { + "value" : [ "//Check if patient is pregnant\n//not sure if pregnancy is an Observation\n","define ","\"Pregnant Observation\"",":\n " ] + }, { + "r" : "56", + "s" : [ { + "s" : [ { + "r" : "48", + "s" : [ { + "r" : "47", + "s" : [ { + "r" : "47", + "s" : [ { + "value" : [ "[","Observation","]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n //IPS Uses Observation - https://hl7.org/fhir/uv/ips/StructureDefinition-observation-pregnancy-status-uv-ips.html\n " ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "55", + "s" : [ { + "r" : "52", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "52", + "s" : [ { + "r" : "50", + "s" : [ { + "r" : "49", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "50", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "51", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "54", + "s" : [ { + "r" : "53", + "s" : [ { + "value" : [ "Wcon" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "54", + "s" : [ { + "value" : [ "\"Pregnancy Status Pregnant\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "56", + "locator" : "55:3-57:74", + "type" : "Query", + "source" : [ { + "localId" : "48", + "locator" : "55:3-55:17", + "alias" : "O", + "expression" : { + "localId" : "47", + "locator" : "55:3-55:15", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "55", + "locator" : "57:5-57:74", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "52", + "locator" : "57:11-57:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "50", + "locator" : "57:12-57:18", + "path" : "value", + "scope" : "O", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "51", + "locator" : "57:23-57:37", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "valueset" : { + "localId" : "54", + "locator" : "57:43-57:74", + "name" : "Pregnancy Status Pregnant", + "libraryName" : "Wcon" + } + } + } + }, { + "localId" : "76", + "locator" : "71:1-73:133", + "name" : "Pregnant Condition", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "76", + "s" : [ { + "value" : [ "/*\nNeed to figure out how to add the OR Condition in case pregnancy is stored in a condition instead of an Observation \nor [Condition] C\n where (C.code as CodeableConcept) in Wcon.\"Pregnancy Status Pregnant\"\n*/\n\n/*\ndefine \"Patient Has Active Sickle-cell disease\":\n exists([Condition: code = IMMZc.\"Sickle-cell Disease Condition\"] C\n where C.clinicalStatus in FC.\"Active Condition\"\n and C.abatement is null)\n*/\n","define ","\"Pregnant Condition\"",":\n " ] + }, { + "r" : "75", + "s" : [ { + "s" : [ { + "r" : "59", + "s" : [ { + "r" : "58", + "s" : [ { + "r" : "58", + "s" : [ { + "value" : [ "[","Condition","]" ] + } ] + } ] + }, { + "value" : [ " ","C" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "74", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "74", + "s" : [ { + "r" : "66", + "s" : [ { + "r" : "63", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "63", + "s" : [ { + "r" : "61", + "s" : [ { + "r" : "60", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "61", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "62", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "65", + "s" : [ { + "r" : "64", + "s" : [ { + "value" : [ "Wcon" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "65", + "s" : [ { + "value" : [ "\"Pregnancy Status Pregnant\"" ] + } ] + } ] + } ] + }, { + "value" : [ " or " ] + }, { + "r" : "73", + "s" : [ { + "r" : "70", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "70", + "s" : [ { + "r" : "68", + "s" : [ { + "r" : "67", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "68", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "69", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "72", + "s" : [ { + "r" : "71", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "72", + "s" : [ { + "value" : [ "\"Currently Pregnant\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "75", + "locator" : "72:3-73:133", + "type" : "Query", + "source" : [ { + "localId" : "59", + "locator" : "72:3-72:15", + "alias" : "C", + "expression" : { + "localId" : "58", + "locator" : "72:3-72:13", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "74", + "locator" : "73:5-73:133", + "type" : "Or", + "operand" : [ { + "localId" : "66", + "locator" : "73:11-73:73", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "63", + "locator" : "73:11-73:37", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "61", + "locator" : "73:12-73:17", + "path" : "code", + "scope" : "C", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "62", + "locator" : "73:22-73:36", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "valueset" : { + "localId" : "65", + "locator" : "73:42-73:73", + "name" : "Pregnancy Status Pregnant", + "libraryName" : "Wcon" + } + }, { + "localId" : "73", + "locator" : "73:78-73:133", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "70", + "locator" : "73:78-73:104", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "68", + "locator" : "73:79-73:84", + "path" : "code", + "scope" : "C", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "69", + "locator" : "73:89-73:103", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "72", + "locator" : "73:108-73:133", + "name" : "Currently Pregnant", + "libraryName" : "IMMZc", + "type" : "CodeRef" + } + } ] + } ] + } + } + }, { + "localId" : "82", + "locator" : "75:1-78:34", + "name" : "Pregnant", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "82", + "s" : [ { + "value" : [ "","define ","\"Pregnant\"",": \n " ] + }, { + "r" : "81", + "s" : [ { + "r" : "78", + "s" : [ { + "value" : [ "exists\n " ] + }, { + "r" : "77", + "s" : [ { + "value" : [ "( " ] + }, { + "r" : "77", + "s" : [ { + "value" : [ "\"Pregnant Observation\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n or " ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "exists " ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "\"Pregnant Condition\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "81", + "locator" : "76:3-78:34", + "type" : "Or", + "operand" : [ { + "localId" : "78", + "locator" : "76:3-77:27", + "type" : "Exists", + "operand" : { + "localId" : "77", + "locator" : "77:3-77:27", + "name" : "Pregnant Observation", + "type" : "ExpressionRef" + } + }, { + "localId" : "80", + "locator" : "78:6-78:34", + "type" : "Exists", + "operand" : { + "localId" : "79", + "locator" : "78:13-78:34", + "name" : "Pregnant Condition", + "type" : "ExpressionRef" + } + } ] + } + }, { + "localId" : "89", + "locator" : "88:1-90:18", + "name" : "Patient mother's pregnancy outcome observation", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "89", + "s" : [ { + "value" : [ "//Seronegative. Relevant for Dengue \n/*\ndefine \"Individual is Seronegative for Dengue\":\n [Observation] O\n where (O.value as CodeableConcept) in IMMZc.Seronegative\n*/\n\n//Total number of births including abortions, stillbirths and live births.\n","define ","\"Patient mother's pregnancy outcome observation\"",":\n " ] + }, { + "r" : "88", + "s" : [ { + "s" : [ { + "r" : "84", + "s" : [ { + "r" : "83", + "s" : [ { + "r" : "83", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "s" : [ { + "value" : [ "\"[#] Births total\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "87", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "86", + "s" : [ { + "r" : "85", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "86", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "88", + "locator" : "89:3-90:18", + "type" : "Query", + "source" : [ { + "localId" : "84", + "locator" : "89:3-89:44", + "alias" : "O", + "expression" : { + "localId" : "83", + "locator" : "89:3-89:42", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "=", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "89:24-89:41", + "name" : "[#] Births total", + "type" : "CodeRef" + } + } + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "87", + "locator" : "90:5-90:18", + "expression" : { + "localId" : "86", + "locator" : "90:12-90:18", + "path" : "value", + "scope" : "O", + "type" : "Property" + } + } + } + }, { + "localId" : "96", + "locator" : "94:1-96:18", + "name" : "Preterm", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "96", + "s" : [ { + "value" : [ "// Total number of children whose birth occurred through the end of the last day of the 37th week (259th day) \n// following onset of the last menstrual period\n","define ","\"Preterm\"",":\n " ] + }, { + "r" : "95", + "s" : [ { + "s" : [ { + "r" : "91", + "s" : [ { + "r" : "90", + "s" : [ { + "r" : "90", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "s" : [ { + "value" : [ "\"[#] Births.preterm\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "94", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "93", + "s" : [ { + "r" : "92", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "93", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "95", + "locator" : "95:3-96:18", + "type" : "Query", + "source" : [ { + "localId" : "91", + "locator" : "95:3-95:46", + "alias" : "O", + "expression" : { + "localId" : "90", + "locator" : "95:3-95:44", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "=", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "95:24-95:43", + "name" : "[#] Births.preterm", + "type" : "CodeRef" + } + } + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "94", + "locator" : "96:5-96:18", + "expression" : { + "localId" : "93", + "locator" : "96:12-96:18", + "path" : "value", + "scope" : "O", + "type" : "Property" + } + } + } + }, { + "localId" : "107", + "locator" : "99:1-101:60", + "name" : "Preterm Birth", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "107", + "s" : [ { + "value" : [ "//Observed Preterm birth\n","define ","\"Preterm Birth\"",":\n " ] + }, { + "r" : "106", + "s" : [ { + "s" : [ { + "r" : "98", + "s" : [ { + "r" : "97", + "s" : [ { + "r" : "97", + "s" : [ { + "value" : [ "[","Observation","]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "105", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "105", + "s" : [ { + "r" : "102", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "102", + "s" : [ { + "r" : "100", + "s" : [ { + "r" : "99", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "100", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "101", + "s" : [ { + "value" : [ "CodeableConcept" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "104", + "s" : [ { + "r" : "103", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "104", + "s" : [ { + "value" : [ "PretermBirth" ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "106", + "locator" : "100:3-101:60", + "type" : "Query", + "source" : [ { + "localId" : "98", + "locator" : "100:3-100:17", + "alias" : "O", + "expression" : { + "localId" : "97", + "locator" : "100:3-100:15", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "105", + "locator" : "101:5-101:60", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "102", + "locator" : "101:11-101:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "100", + "locator" : "101:12-101:18", + "path" : "value", + "scope" : "O", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "101", + "locator" : "101:23-101:37", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "valueset" : { + "localId" : "104", + "locator" : "101:43-101:60", + "name" : "PretermBirth", + "libraryName" : "IMMZc" + } + } + } + }, { + "localId" : "128", + "locator" : "104:1-107:12", + "name" : "Adverse Event", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "128", + "s" : [ { + "value" : [ "//@dataElement Adverse Event:\n","define ","\"Adverse Event\"",":\n " ] + }, { + "r" : "127", + "s" : [ { + "s" : [ { + "value" : [ "from " ] + }, { + "r" : "109", + "s" : [ { + "r" : "108", + "s" : [ { + "r" : "108", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "111", + "s" : [ { + "r" : "110", + "s" : [ { + "r" : "110", + "s" : [ { + "value" : [ "[","Observation","]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "124", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "124", + "s" : [ { + "r" : "113", + "s" : [ { + "r" : "112", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "113", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "123", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "123", + "s" : [ { + "s" : [ { + "r" : "115", + "s" : [ { + "r" : "114", + "s" : [ { + "s" : [ { + "value" : [ "I",".","reaction" ] + } ] + } ] + }, { + "value" : [ " ","R" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "122", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "121", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "120", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "118", + "s" : [ { + "r" : "117", + "s" : [ { + "r" : "116", + "s" : [ { + "value" : [ "R" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "117", + "s" : [ { + "value" : [ "detail" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "118", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "119", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "126", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "125", + "s" : [ { + "value" : [ "O" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "127", + "locator" : "105:3-107:12", + "type" : "Query", + "source" : [ { + "localId" : "109", + "locator" : "105:8-105:23", + "alias" : "I", + "expression" : { + "localId" : "108", + "locator" : "105:8-105:21", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + }, { + "localId" : "111", + "locator" : "105:26-105:40", + "alias" : "O", + "expression" : { + "localId" : "110", + "locator" : "105:26-105:38", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "124", + "locator" : "106:5-106:76", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "113", + "locator" : "106:11-106:14", + "path" : "id", + "scope" : "O", + "type" : "Property" + } ] + }, { + "localId" : "123", + "locator" : "106:19-106:76", + "type" : "Query", + "source" : [ { + "localId" : "115", + "locator" : "106:20-106:31", + "alias" : "R", + "expression" : { + "localId" : "114", + "locator" : "106:20-106:29", + "path" : "reaction", + "scope" : "I", + "type" : "Property" + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "122", + "locator" : "106:33-106:75", + "expression" : { + "localId" : "121", + "locator" : "106:40-106:75", + "type" : "Last", + "source" : { + "localId" : "120", + "locator" : "106:45-106:74", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "118", + "locator" : "106:51-106:68", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "117", + "locator" : "106:51-106:58", + "path" : "detail", + "scope" : "R", + "type" : "Property" + } + } ] + }, + "separator" : { + "localId" : "119", + "locator" : "106:71-106:73", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } + } + } ] + }, + "return" : { + "localId" : "126", + "locator" : "107:5-107:12", + "expression" : { + "localId" : "125", + "locator" : "107:12", + "name" : "O", + "type" : "AliasRef" + } + } + } + }, { + "localId" : "143", + "locator" : "112:1-117:46", + "name" : "Allergy = True", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "143", + "s" : [ { + "value" : [ "/* \n * @dataElement Allergy = True\n */\n","define ","\"Allergy = True\"",":\n\t" ] + }, { + "r" : "142", + "s" : [ { + "s" : [ { + "r" : "130", + "s" : [ { + "r" : "129", + "s" : [ { + "r" : "129", + "s" : [ { + "value" : [ "[","AllergyIntolerance","]" ] + } ] + } ] + }, { + "value" : [ " ","A" ] + } ] + } ] + }, { + "value" : [ "\n\t" ] + }, { + "r" : "141", + "s" : [ { + "value" : [ "where \n\t" ] + }, { + "r" : "141", + "s" : [ { + "r" : "135", + "s" : [ { + "r" : "132", + "s" : [ { + "r" : "131", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "132", + "s" : [ { + "value" : [ "clinicalStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "134", + "s" : [ { + "r" : "133", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "134", + "s" : [ { + "value" : [ "\"allergy-active\"" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\tand\n\t" ] + }, { + "r" : "140", + "s" : [ { + "r" : "137", + "s" : [ { + "r" : "136", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "137", + "s" : [ { + "value" : [ "verificationStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "139", + "s" : [ { + "r" : "138", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "139", + "s" : [ { + "value" : [ "\"allergy-confirmed\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "142", + "locator" : "113:2-117:46", + "type" : "Query", + "source" : [ { + "localId" : "130", + "locator" : "113:2-113:23", + "alias" : "A", + "expression" : { + "localId" : "129", + "locator" : "113:2-113:21", + "dataType" : "{http://hl7.org/fhir}AllergyIntolerance", + "templateId" : "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "141", + "locator" : "114:2-117:46", + "type" : "And", + "operand" : [ { + "localId" : "135", + "locator" : "115:2-115:39", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "132", + "locator" : "115:2-115:17", + "path" : "clinicalStatus", + "scope" : "A", + "type" : "Property" + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "134", + "locator" : "115:21-115:39", + "name" : "allergy-active", + "libraryName" : "FC", + "type" : "CodeRef" + } + } ] + }, { + "localId" : "140", + "locator" : "117:2-117:46", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "137", + "locator" : "117:2-117:21", + "path" : "verificationStatus", + "scope" : "A", + "type" : "Property" + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "139", + "locator" : "117:25-117:46", + "name" : "allergy-confirmed", + "libraryName" : "FC", + "type" : "CodeRef" + } + } ] + } ] + } + } + }, { + "localId" : "165", + "locator" : "122:1-128:39", + "name" : "Immunocompromised = True", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "165", + "s" : [ { + "value" : [ "/* \n * @dataElement Immunocompromised = True\n */\n","define ","\"Immunocompromised = True\"",":\n\t" ] + }, { + "r" : "164", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "163", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "163", + "s" : [ { + "s" : [ { + "r" : "145", + "s" : [ { + "r" : "144", + "s" : [ { + "r" : "144", + "s" : [ { + "value" : [ "[","Condition","]" ] + } ] + } ] + }, { + "value" : [ " ","C" ] + } ] + } ] + }, { + "value" : [ " \n\t" ] + }, { + "r" : "162", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "162", + "s" : [ { + "r" : "156", + "s" : [ { + "r" : "150", + "s" : [ { + "r" : "147", + "s" : [ { + "r" : "146", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "147", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "149", + "s" : [ { + "r" : "148", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "149", + "s" : [ { + "value" : [ "\"Immunocompromised\"" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\tand\n \t" ] + }, { + "r" : "155", + "s" : [ { + "r" : "152", + "s" : [ { + "r" : "151", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "152", + "s" : [ { + "value" : [ "clinicalStatus" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "154", + "s" : [ { + "r" : "153", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "154", + "s" : [ { + "value" : [ "\"Active Condition\"" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n\tand\n\t" ] + }, { + "r" : "161", + "s" : [ { + "r" : "158", + "s" : [ { + "r" : "157", + "s" : [ { + "value" : [ "C" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "158", + "s" : [ { + "value" : [ "verificationStatus" ] + } ] + } ] + }, { + "value" : [ " ","~"," " ] + }, { + "r" : "160", + "s" : [ { + "r" : "159", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "160", + "s" : [ { + "value" : [ "\"confirmed\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "164", + "locator" : "123:2-128:39", + "type" : "Exists", + "operand" : { + "localId" : "163", + "locator" : "123:8-128:39", + "type" : "Query", + "source" : [ { + "localId" : "145", + "locator" : "123:9-123:21", + "alias" : "C", + "expression" : { + "localId" : "144", + "locator" : "123:9-123:19", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "162", + "locator" : "124:2-128:38", + "type" : "And", + "operand" : [ { + "localId" : "156", + "locator" : "124:8-126:44", + "type" : "And", + "operand" : [ { + "localId" : "150", + "locator" : "124:8-124:42", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "147", + "locator" : "124:8-124:13", + "path" : "code", + "scope" : "C", + "type" : "Property" + } ] + }, + "valueset" : { + "localId" : "149", + "locator" : "124:18-124:42", + "name" : "Immunocompromised", + "libraryName" : "IMMZc" + } + }, { + "localId" : "155", + "locator" : "126:4-126:44", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "152", + "locator" : "126:4-126:19", + "path" : "clinicalStatus", + "scope" : "C", + "type" : "Property" + } ] + }, + "valueset" : { + "localId" : "154", + "locator" : "126:24-126:44", + "name" : "Active Condition", + "libraryName" : "FC" + } + } ] + }, { + "localId" : "161", + "locator" : "128:2-128:38", + "type" : "Equivalent", + "operand" : [ { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "158", + "locator" : "128:2-128:21", + "path" : "verificationStatus", + "scope" : "C", + "type" : "Property" + } ] + }, { + "type" : "ToConcept", + "operand" : { + "localId" : "160", + "locator" : "128:25-128:38", + "name" : "confirmed", + "libraryName" : "FC", + "type" : "CodeRef" + } + } ] + } ] + } + } + } + }, { + "localId" : "179", + "locator" : "133:1-136:56", + "name" : "Doses Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "179", + "s" : [ { + "value" : [ "/**\n * @dataElement All Doses Administered to Patient to patient ordered newest to oldest\n */\n","define ","\"Doses Administered to Patient\"",":\n " ] + }, { + "r" : "178", + "s" : [ { + "s" : [ { + "r" : "167", + "s" : [ { + "r" : "166", + "s" : [ { + "r" : "166", + "s" : [ { + "value" : [ "[","Immunization","]" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "171", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "171", + "s" : [ { + "r" : "169", + "s" : [ { + "r" : "168", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "169", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "170", + "s" : [ { + "value" : [ "'completed'" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "177", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "176", + "s" : [ { + "r" : "175", + "s" : [ { + "value" : [ "date from " ] + }, { + "r" : "174", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "174", + "s" : [ { + "r" : "172", + "s" : [ { + "value" : [ "occurrence" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "173", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " desc" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "178", + "locator" : "134:3-136:56", + "type" : "Query", + "source" : [ { + "localId" : "167", + "locator" : "134:3-134:18", + "alias" : "I", + "expression" : { + "localId" : "166", + "locator" : "134:3-134:16", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "171", + "locator" : "135:5-135:32", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "169", + "locator" : "135:11-135:18", + "path" : "status", + "scope" : "I", + "type" : "Property" + } ] + }, { + "localId" : "170", + "locator" : "135:22-135:32", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "completed", + "type" : "Literal" + } ] + }, + "sort" : { + "localId" : "177", + "locator" : "136:5-136:56", + "by" : [ { + "localId" : "176", + "locator" : "136:13-136:56", + "direction" : "desc", + "type" : "ByExpression", + "expression" : { + "localId" : "175", + "locator" : "136:13-136:51", + "type" : "DateFrom", + "operand" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "174", + "locator" : "136:23-136:51", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "172", + "locator" : "136:24-136:33", + "name" : "occurrence", + "type" : "IdentifierRef" + }, + "asTypeSpecifier" : { + "localId" : "173", + "locator" : "136:38-136:50", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + } ] + } + } + }, { + "localId" : "181", + "locator" : "140:1-141:48", + "name" : "Severely Immunosuppressed Condition", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "181", + "s" : [ { + "value" : [ "/**\n * Contraindications \n */\n","define ","\"Severely Immunosuppressed Condition\"",":\n " ] + }, { + "r" : "180", + "s" : [ { + "value" : [ "[","Condition",": " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"Severely immunosuppressed\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "180", + "locator" : "141:3-141:48", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "codeProperty" : "code", + "codeComparator" : "~", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "141:15-141:47", + "name" : "Severely immunosuppressed", + "libraryName" : "IMMZc", + "type" : "CodeRef" + } + } + } + }, { + "localId" : "183", + "locator" : "143:1-144:56", + "name" : "History of Anaphylactic Reactions Condition", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "183", + "s" : [ { + "value" : [ "","define ","\"History of Anaphylactic Reactions Condition\"",":\n " ] + }, { + "r" : "182", + "s" : [ { + "value" : [ "[","Condition",": " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"History of anaphylactic reactions\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "182", + "locator" : "144:3-144:56", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "codeProperty" : "code", + "codeComparator" : "~", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "144:15-144:55", + "name" : "History of anaphylactic reactions", + "libraryName" : "IMMZc", + "type" : "CodeRef" + } + } + } + }, { + "localId" : "185", + "locator" : "146:1-147:48", + "name" : "Severe Allergic Reactions Condition", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "185", + "s" : [ { + "value" : [ "","define ","\"Severe Allergic Reactions Condition\"",":\n " ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "[","Condition",": " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"Severe allergic reactions\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "184", + "locator" : "147:3-147:48", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "codeProperty" : "code", + "codeComparator" : "~", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "147:15-147:47", + "name" : "Severe allergic reactions", + "libraryName" : "IMMZc", + "type" : "CodeRef" + } + } + } + }, { + "localId" : "187", + "locator" : "149:1-150:48", + "name" : "Symptomatic HIV Infection Condition", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "187", + "s" : [ { + "value" : [ "","define ","\"Symptomatic HIV Infection Condition\"",":\n " ] + }, { + "r" : "186", + "s" : [ { + "value" : [ "[","Condition",": " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"Symptomatic HIV infection\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "186", + "locator" : "150:3-150:48", + "dataType" : "{http://hl7.org/fhir}Condition", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Condition", + "codeProperty" : "code", + "codeComparator" : "~", + "type" : "Retrieve", + "codes" : { + "type" : "ToList", + "operand" : { + "locator" : "150:15-150:47", + "name" : "Symptomatic HIV infection", + "libraryName" : "IMMZc", + "type" : "CodeRef" + } + } + } + }, { + "localId" : "196", + "locator" : "158:1-160:33", + "name" : "Patient birth weight observation value", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "196", + "s" : [ { + "value" : [ "/******************************\n * Test Results\n */\n","define ","\"Patient birth weight observation value\"",":\n" ] + }, { + "r" : "195", + "s" : [ { + "s" : [ { + "r" : "189", + "s" : [ { + "r" : "188", + "s" : [ { + "r" : "188", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","in"," " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"Patient birth weight observation value\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "194", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "193", + "s" : [ { + "r" : "191", + "s" : [ { + "r" : "190", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "192", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "195", + "locator" : "159:1-160:33", + "type" : "Query", + "source" : [ { + "localId" : "189", + "locator" : "159:1-159:71", + "alias" : "O", + "expression" : { + "localId" : "188", + "locator" : "159:1-159:69", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "159:23-159:68", + "name" : "Patient birth weight observation value", + "libraryName" : "IMMZc", + "type" : "ValueSetRef" + } + } + } ], + "relationship" : [ ], + "return" : { + "localId" : "194", + "locator" : "160:3-160:33", + "expression" : { + "localId" : "193", + "locator" : "160:10-160:33", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "191", + "locator" : "160:10-160:16", + "path" : "value", + "scope" : "O", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "192", + "locator" : "160:21-160:33", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } + } + } + }, { + "localId" : "199", + "locator" : "165:1-166:23", + "name" : "Current Patient Age In Years", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "199", + "s" : [ { + "value" : [ "/** \n * @dataElement Patient age in years\n */\n","define ","\"Current Patient Age In Years\"",":\n " ] + }, { + "r" : "198", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "197", + "s" : [ { + "value" : [ "Today","()" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "198", + "locator" : "166:3-166:23", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "197", + "locator" : "166:16-166:22", + "type" : "Today" + } ] + } + }, { + "localId" : "202", + "locator" : "172:1-173:23", + "name" : "Current Patient Age In Weeks", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "202", + "s" : [ { + "value" : [ "//Today() - (Patient.birthDate as System.Date)\n\n/** \n * @dataElement Patient age in weeks\n */\n","define ","\"Current Patient Age In Weeks\"",":\n " ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "AgeInWeeksAt","(" ] + }, { + "r" : "200", + "s" : [ { + "value" : [ "Today","()" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "201", + "locator" : "173:3-173:23", + "precision" : "Week", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "200", + "locator" : "173:16-173:22", + "type" : "Today" + } ] + } + }, { + "localId" : "205", + "locator" : "178:1-179:24", + "name" : "Current Patient Age In Months", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "205", + "s" : [ { + "value" : [ "/** \n * @dataElement Patient age in months\n */\n","define ","\"Current Patient Age In Months\"",":\n " ] + }, { + "r" : "204", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "203", + "s" : [ { + "value" : [ "Today","()" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "204", + "locator" : "179:3-179:24", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "203", + "locator" : "179:17-179:23", + "type" : "Today" + } ] + } + }, { + "localId" : "208", + "locator" : "186:1-187:16", + "name" : "Patient Biological Sex", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "208", + "s" : [ { + "value" : [ "/** \n * @dataElement Patient biological sex used for deciding vaccine eligibility\n * TODO: \"Gender\" of patient in FHIR is the administrative gender - or can we expect that this will be biological sex and administrative\n * gender identity will be captured using the gender identity extension?\n */\n","define ","\"Patient Biological Sex\"",":\n " ] + }, { + "r" : "207", + "s" : [ { + "r" : "206", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "gender" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "207", + "locator" : "187:3-187:16", + "path" : "gender", + "type" : "Property", + "source" : { + "localId" : "206", + "locator" : "187:3-187:9", + "name" : "Patient", + "type" : "ExpressionRef" + } + } + }, { + "localId" : "253", + "locator" : "277:1-287:4", + "name" : "ExtractMedicationCode", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "253", + "s" : [ { + "value" : [ "/**\n * @description Takes a choice between a Medication and a CodeableConcept and returns just the code of the medication\n */\n","define function ","ExtractMedicationCode","(","choice"," " ] + }, { + "r" : "215", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "213", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "FHIR",".","Reference" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "252", + "s" : [ { + "r" : "252", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "222", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "218", + "s" : [ { + "r" : "216", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "217", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "221", + "s" : [ { + "r" : "219", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "220", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "243", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "225", + "s" : [ { + "r" : "223", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "FHIR",".","Reference" ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "242", + "s" : [ { + "value" : [ "First","(" ] + }, { + "r" : "241", + "s" : [ { + "s" : [ { + "r" : "227", + "s" : [ { + "r" : "226", + "s" : [ { + "r" : "226", + "s" : [ { + "value" : [ "[","Medication","]" ] + } ] + } ] + }, { + "value" : [ " ","M" ] + } ] + } ] + }, { + "value" : [ " \n " ] + }, { + "r" : "235", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "235", + "s" : [ { + "r" : "229", + "s" : [ { + "r" : "228", + "s" : [ { + "value" : [ "M" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "229", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "234", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "233", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "231", + "s" : [ { + "r" : "230", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "231", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "232", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "240", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "239", + "s" : [ { + "r" : "237", + "s" : [ { + "r" : "236", + "s" : [ { + "value" : [ "M" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "237", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "238", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n " ] + }, { + "r" : "251", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "246", + "s" : [ { + "r" : "244", + "value" : [ "null"," as " ] + }, { + "r" : "245", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + } ] + }, { + "r" : "247", + "value" : [ ", ","true",", " ] + }, { + "r" : "248", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "249", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "250", + "s" : [ { + "value" : [ "'Cannot compute a medication code'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " // TODO: I'm sure that this is supported somehow?\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "252", + "locator" : "278:3-287:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "222", + "locator" : "279:4-280:35", + "when" : { + "localId" : "218", + "locator" : "279:9-279:38", + "type" : "Is", + "operand" : { + "localId" : "216", + "locator" : "279:9-279:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "217", + "locator" : "279:19-279:38", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "221", + "locator" : "280:6-280:35", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "219", + "locator" : "280:6-280:11", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "220", + "locator" : "280:16-280:35", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } + }, { + "localId" : "243", + "locator" : "281:5-284:46", + "when" : { + "localId" : "225", + "locator" : "281:10-281:33", + "type" : "Is", + "operand" : { + "localId" : "223", + "locator" : "281:10-281:15", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "224", + "locator" : "281:20-281:33", + "name" : "{http://hl7.org/fhir}Reference", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "242", + "locator" : "282:7-284:46", + "type" : "First", + "source" : { + "localId" : "241", + "locator" : "282:13-284:45", + "type" : "Query", + "source" : [ { + "localId" : "227", + "locator" : "282:13-282:26", + "alias" : "M", + "expression" : { + "localId" : "226", + "locator" : "282:13-282:24", + "dataType" : "{http://hl7.org/fhir}Medication", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Medication", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "235", + "locator" : "283:9-283:55", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "229", + "locator" : "283:15-283:18", + "path" : "id", + "scope" : "M", + "type" : "Property" + } ] + }, { + "localId" : "234", + "locator" : "283:22-283:55", + "type" : "Last", + "source" : { + "localId" : "233", + "locator" : "283:27-283:54", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "231", + "locator" : "283:33-283:48", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "230", + "locator" : "283:33-283:38", + "name" : "choice", + "type" : "OperandRef" + } + } ] + }, + "separator" : { + "localId" : "232", + "locator" : "283:51-283:53", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } ] + }, + "return" : { + "localId" : "240", + "locator" : "284:9-284:45", + "expression" : { + "localId" : "239", + "locator" : "284:16-284:45", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "237", + "locator" : "284:16-284:21", + "path" : "code", + "scope" : "M", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "238", + "locator" : "284:26-284:45", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } + } + } + } + } ], + "else" : { + "localId" : "251", + "locator" : "286:7-286:99", + "type" : "Message", + "source" : { + "localId" : "246", + "locator" : "286:15-286:42", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "244", + "locator" : "286:15-286:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "245", + "locator" : "286:23-286:42", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + }, + "condition" : { + "localId" : "247", + "locator" : "286:45-286:48", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "248", + "locator" : "286:51-286:53", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "249", + "locator" : "286:56-286:62", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "250", + "locator" : "286:65-286:98", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute a medication code", + "type" : "Literal" + } + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "215", + "locator" : "277:46-277:89", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "213", + "locator" : "277:53-277:72", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "214", + "locator" : "277:75-277:88", + "name" : "{http://hl7.org/fhir}Reference", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + }, { + "localId" : "294", + "locator" : "293:1-301:4", + "name" : "ExtractMedicationInitiationDate", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "294", + "s" : [ { + "value" : [ "/**\n * @description Takes a choice between a Medication and a CodeableConcept and returns just the code of the medication\n */\n","define function ","ExtractMedicationInitiationDate","(","choice"," " ] + }, { + "r" : "269", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "267", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "268", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "293", + "s" : [ { + "r" : "293", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "277", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "272", + "s" : [ { + "r" : "270", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "271", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "276", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "275", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "275", + "s" : [ { + "r" : "273", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "274", + "s" : [ { + "value" : [ "FHIR",".","Period" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "284", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "280", + "s" : [ { + "r" : "278", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "279", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ " then\n " ] + }, { + "r" : "283", + "s" : [ { + "r" : "281", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "282", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n " ] + }, { + "r" : "292", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "287", + "s" : [ { + "r" : "285", + "value" : [ "null"," as " ] + }, { + "r" : "286", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "r" : "288", + "value" : [ ", ","true",", " ] + }, { + "r" : "289", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "290", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "291", + "s" : [ { + "value" : [ "'Cannot compute medication treatment initiation date'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " // TODO: I'm sure that this is supported somehow?\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "293", + "locator" : "294:3-301:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "277", + "locator" : "295:4-296:37", + "when" : { + "localId" : "272", + "locator" : "295:9-295:29", + "type" : "Is", + "operand" : { + "localId" : "270", + "locator" : "295:9-295:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "271", + "locator" : "295:19-295:29", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "276", + "locator" : "296:6-296:37", + "type" : "Start", + "operand" : { + "name" : "ToInterval", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "275", + "locator" : "296:15-296:37", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "273", + "locator" : "296:16-296:21", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "274", + "locator" : "296:26-296:36", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "284", + "locator" : "297:5-298:29", + "when" : { + "localId" : "280", + "locator" : "297:10-297:32", + "type" : "Is", + "operand" : { + "localId" : "278", + "locator" : "297:10-297:15", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "279", + "locator" : "297:20-297:32", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "283", + "locator" : "298:7-298:29", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "281", + "locator" : "298:7-298:12", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "282", + "locator" : "298:17-298:29", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } ], + "else" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "292", + "locator" : "300:7-300:111", + "type" : "Message", + "source" : { + "localId" : "287", + "locator" : "300:15-300:35", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "285", + "locator" : "300:15-300:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "286", + "locator" : "300:23-300:35", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "condition" : { + "localId" : "288", + "locator" : "300:38-300:41", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "289", + "locator" : "300:44-300:46", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "290", + "locator" : "300:49-300:55", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "291", + "locator" : "300:58-300:110", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute medication treatment initiation date", + "type" : "Literal" + } + } ] + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "269", + "locator" : "293:56-293:89", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "267", + "locator" : "293:63-293:75", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "268", + "locator" : "293:78-293:88", + "name" : "{http://hl7.org/fhir}Period", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + }, { + "localId" : "306", + "locator" : "189:1-195:58", + "name" : "Patient HAART Treatment Start Date", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "306", + "s" : [ { + "value" : [ "","define ","\"Patient HAART Treatment Start Date\"",":\n " ] + }, { + "r" : "305", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "304", + "s" : [ { + "s" : [ { + "r" : "210", + "s" : [ { + "r" : "209", + "s" : [ { + "r" : "209", + "s" : [ { + "value" : [ "[","MedicationAdministration","]" ] + } ] + } ] + }, { + "value" : [ " ","A" ] + } ] + } ] + }, { + "value" : [ " \n " ] + }, { + "r" : "299", + "s" : [ { + "value" : [ "where \n " ] + }, { + "r" : "299", + "s" : [ { + "r" : "264", + "s" : [ { + "r" : "257", + "s" : [ { + "r" : "254", + "s" : [ { + "value" : [ "ExtractMedicationCode","(" ] + }, { + "r" : "212", + "s" : [ { + "r" : "211", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "212", + "s" : [ { + "value" : [ "medication" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "256", + "s" : [ { + "r" : "255", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "256", + "s" : [ { + "value" : [ "\"ARV Drugs\"" ] + } ] + } ] + } ] + }, { + "value" : [ " \n and " ] + }, { + "r" : "263", + "s" : [ { + "r" : "259", + "s" : [ { + "r" : "258", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "259", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "262", + "s" : [ { + "value" : [ "{ " ] + }, { + "r" : "260", + "s" : [ { + "value" : [ "'active'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "261", + "s" : [ { + "value" : [ "'complete'" ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + } ] + }, { + "value" : [ "\n and " ] + }, { + "r" : "298", + "s" : [ { + "r" : "295", + "s" : [ { + "value" : [ "ExtractMedicationInitiationDate","(" ] + }, { + "r" : "266", + "s" : [ { + "r" : "265", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "266", + "s" : [ { + "value" : [ "effective" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "298", + "s" : [ { + "value" : [ "less than " ] + }, { + "r" : "297", + "s" : [ { + "value" : [ "12 ","'month'" ] + } ] + }, { + "value" : [ " before" ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "296", + "s" : [ { + "value" : [ "Today","()" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "303", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "302", + "s" : [ { + "value" : [ "ExtractMedicationInitiationDate","(" ] + }, { + "r" : "301", + "s" : [ { + "r" : "300", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "301", + "s" : [ { + "value" : [ "effective" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "305", + "locator" : "190:3-195:58", + "type" : "Last", + "source" : { + "localId" : "304", + "locator" : "190:8-195:57", + "type" : "Query", + "source" : [ { + "localId" : "210", + "locator" : "190:8-190:35", + "alias" : "A", + "expression" : { + "localId" : "209", + "locator" : "190:8-190:33", + "dataType" : "{http://hl7.org/fhir}MedicationAdministration", + "templateId" : "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "299", + "locator" : "191:5-194:90", + "type" : "And", + "operand" : [ { + "localId" : "264", + "locator" : "192:7-193:46", + "type" : "And", + "operand" : [ { + "localId" : "257", + "locator" : "192:7-192:62", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "254", + "locator" : "192:7-192:41", + "name" : "ExtractMedicationCode", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "212", + "locator" : "192:29-192:40", + "path" : "medication", + "scope" : "A", + "type" : "Property" + } ] + } ] + }, + "valueset" : { + "localId" : "256", + "locator" : "192:46-192:62", + "name" : "ARV Drugs", + "libraryName" : "IMMZc" + } + }, { + "localId" : "263", + "locator" : "193:11-193:46", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "259", + "locator" : "193:11-193:18", + "path" : "status", + "scope" : "A", + "type" : "Property" + } ] + }, { + "localId" : "262", + "locator" : "193:23-193:46", + "type" : "List", + "element" : [ { + "localId" : "260", + "locator" : "193:25-193:32", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "active", + "type" : "Literal" + }, { + "localId" : "261", + "locator" : "193:35-193:44", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "complete", + "type" : "Literal" + } ] + } ] + } ] + }, { + "localId" : "298", + "locator" : "194:11-194:90", + "type" : "In", + "operand" : [ { + "localId" : "295", + "locator" : "194:11-194:54", + "name" : "ExtractMedicationInitiationDate", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "266", + "locator" : "194:43-194:53", + "path" : "effective", + "scope" : "A", + "type" : "Property" + } ] + }, { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "locator" : "194:56-194:75", + "lowClosed" : false, + "highClosed" : false, + "type" : "Interval", + "low" : { + "locator" : "194:84-194:90", + "type" : "Subtract", + "operand" : [ { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + }, { + "localId" : "297", + "locator" : "194:66-194:75", + "value" : 12, + "unit" : "month", + "type" : "Quantity" + } ] + }, + "high" : { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + } + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "locator" : "194:56-194:75", + "lowClosed" : false, + "highClosed" : false, + "type" : "Interval", + "low" : { + "locator" : "194:84-194:90", + "type" : "Subtract", + "operand" : [ { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + }, { + "localId" : "297", + "locator" : "194:66-194:75", + "value" : 12, + "unit" : "month", + "type" : "Quantity" + } ] + }, + "high" : { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + } + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "locator" : "194:56-194:75", + "lowClosed" : false, + "highClosed" : false, + "type" : "Interval", + "low" : { + "locator" : "194:84-194:90", + "type" : "Subtract", + "operand" : [ { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + }, { + "localId" : "297", + "locator" : "194:66-194:75", + "value" : 12, + "unit" : "month", + "type" : "Quantity" + } ] + }, + "high" : { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + } + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "locator" : "194:56-194:75", + "lowClosed" : false, + "highClosed" : false, + "type" : "Interval", + "low" : { + "locator" : "194:84-194:90", + "type" : "Subtract", + "operand" : [ { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + }, { + "localId" : "297", + "locator" : "194:66-194:75", + "value" : 12, + "unit" : "month", + "type" : "Quantity" + } ] + }, + "high" : { + "localId" : "296", + "locator" : "194:84-194:90", + "type" : "Today" + } + } + } + } ] + } ] + }, + "return" : { + "localId" : "303", + "locator" : "195:7-195:57", + "expression" : { + "localId" : "302", + "locator" : "195:14-195:57", + "name" : "ExtractMedicationInitiationDate", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "301", + "locator" : "195:46-195:56", + "path" : "effective", + "scope" : "A", + "type" : "Property" + } ] + } + } + } + } + }, { + "localId" : "315", + "locator" : "197:1-198:85", + "name" : "Patient HAART Treatment Started 6 to 12 Months Ago", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "315", + "s" : [ { + "value" : [ "","define ","\"Patient HAART Treatment Started 6 to 12 Months Ago\"",":\n " ] + }, { + "r" : "314", + "s" : [ { + "r" : "307", + "s" : [ { + "value" : [ "\"Patient HAART Treatment Start Date\"" ] + } ] + }, { + "value" : [ " between " ] + }, { + "r" : "310", + "s" : [ { + "r" : "308", + "s" : [ { + "value" : [ "Now","()" ] + } ] + }, { + "value" : [ " - " ] + }, { + "r" : "309", + "s" : [ { + "value" : [ "12 ","months" ] + } ] + } ] + }, { + "value" : [ " and " ] + }, { + "r" : "313", + "s" : [ { + "r" : "311", + "s" : [ { + "value" : [ "Now","()" ] + } ] + }, { + "value" : [ " - " ] + }, { + "r" : "312", + "s" : [ { + "value" : [ "6 ","months" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "314", + "locator" : "198:3-198:85", + "type" : "And", + "operand" : [ { + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "307", + "locator" : "198:3-198:38", + "name" : "Patient HAART Treatment Start Date", + "type" : "ExpressionRef" + }, { + "localId" : "310", + "locator" : "198:48-198:64", + "type" : "Subtract", + "operand" : [ { + "localId" : "308", + "locator" : "198:48-198:52", + "type" : "Now" + }, { + "localId" : "309", + "locator" : "198:56-198:64", + "value" : 12, + "unit" : "months", + "type" : "Quantity" + } ] + } ] + }, { + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "307", + "locator" : "198:3-198:38", + "name" : "Patient HAART Treatment Start Date", + "type" : "ExpressionRef" + }, { + "localId" : "313", + "locator" : "198:70-198:85", + "type" : "Subtract", + "operand" : [ { + "localId" : "311", + "locator" : "198:70-198:74", + "type" : "Now" + }, { + "localId" : "312", + "locator" : "198:78-198:85", + "value" : 6, + "unit" : "months", + "type" : "Quantity" + } ] + } ] + } ] + } + }, { + "localId" : "331", + "locator" : "203:1-206:129", + "name" : "Patient is receiving HAART", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "331", + "s" : [ { + "value" : [ "/**\n * @dataElement The patient has a medication record which indicates that they are receiving ARV\n */\n","define ","\"Patient is receiving HAART\"",":\n //exists([MedicationStatement] S where ExtractMedicationCode(S.medication) in IMMZc.\"ARV Drugs\" and S.status = 'active')\n //or \n " ] + }, { + "r" : "330", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "329", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "329", + "s" : [ { + "s" : [ { + "r" : "317", + "s" : [ { + "r" : "316", + "s" : [ { + "r" : "316", + "s" : [ { + "value" : [ "[","MedicationAdministration","]" ] + } ] + } ] + }, { + "value" : [ " ","A" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "328", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "328", + "s" : [ { + "r" : "323", + "s" : [ { + "r" : "320", + "s" : [ { + "value" : [ "ExtractMedicationCode","(" ] + }, { + "r" : "319", + "s" : [ { + "r" : "318", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "319", + "s" : [ { + "value" : [ "medication" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "322", + "s" : [ { + "r" : "321", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "322", + "s" : [ { + "value" : [ "\"ARV Drugs\"" ] + } ] + } ] + } ] + }, { + "value" : [ " and " ] + }, { + "r" : "327", + "s" : [ { + "r" : "325", + "s" : [ { + "r" : "324", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "325", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "326", + "s" : [ { + "value" : [ "'in-progress'" ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "330", + "locator" : "206:2-206:129", + "type" : "Exists", + "operand" : { + "localId" : "329", + "locator" : "206:8-206:129", + "type" : "Query", + "source" : [ { + "localId" : "317", + "locator" : "206:9-206:36", + "alias" : "A", + "expression" : { + "localId" : "316", + "locator" : "206:9-206:34", + "dataType" : "{http://hl7.org/fhir}MedicationAdministration", + "templateId" : "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "328", + "locator" : "206:38-206:128", + "type" : "And", + "operand" : [ { + "localId" : "323", + "locator" : "206:44-206:99", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "320", + "locator" : "206:44-206:78", + "name" : "ExtractMedicationCode", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "319", + "locator" : "206:66-206:77", + "path" : "medication", + "scope" : "A", + "type" : "Property" + } ] + } ] + }, + "valueset" : { + "localId" : "322", + "locator" : "206:83-206:99", + "name" : "ARV Drugs", + "libraryName" : "IMMZc" + } + }, { + "localId" : "327", + "locator" : "206:105-206:128", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "325", + "locator" : "206:105-206:112", + "path" : "status", + "scope" : "A", + "type" : "Property" + } ] + }, { + "localId" : "326", + "locator" : "206:116-206:128", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "in-progress", + "type" : "Literal" + } ] + } ] + } + } + } + }, { + "localId" : "356", + "locator" : "213:1-217:42", + "name" : "HIV Status", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "356", + "s" : [ { + "value" : [ "//union \n //\n\n/*\n @dataElement HIV Status observations of the patient most recent first\n*/\n","define ","\"HIV Status\"",":\n " ] + }, { + "r" : "355", + "s" : [ { + "s" : [ { + "r" : "333", + "s" : [ { + "r" : "332", + "s" : [ { + "r" : "332", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"HIV status\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "349", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "349", + "s" : [ { + "r" : "340", + "s" : [ { + "r" : "335", + "s" : [ { + "r" : "334", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "335", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "339", + "s" : [ { + "value" : [ "{ " ] + }, { + "r" : "336", + "s" : [ { + "value" : [ "'final'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "337", + "s" : [ { + "value" : [ "'amended'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "338", + "s" : [ { + "value" : [ "'corrected'" ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + }, { + "value" : [ "\n and " ] + }, { + "r" : "348", + "s" : [ { + "r" : "347", + "s" : [ { + "value" : [ "Coalesce","(" ] + }, { + "r" : "345", + "s" : [ { + "r" : "344", + "s" : [ { + "r" : "341", + "s" : [ { + "value" : [ "WCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "344", + "s" : [ { + "value" : [ "ModifierExtension","(" ] + }, { + "r" : "342", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "343", + "s" : [ { + "value" : [ "'who-notDone'" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "345", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "r" : "346", + "value" : [ ", ","false",")" ] + } ] + }, { + "value" : [ " is false" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "354", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "353", + "s" : [ { + "r" : "351", + "s" : [ { + "r" : "350", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "351", + "s" : [ { + "value" : [ "value" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "352", + "s" : [ { + "value" : [ "FHIR",".","CodeableConcept" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "355", + "locator" : "214:3-217:42", + "type" : "Query", + "source" : [ { + "localId" : "333", + "locator" : "214:3-214:37", + "alias" : "O", + "expression" : { + "localId" : "332", + "locator" : "214:3-214:35", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "214:17-214:34", + "name" : "HIV status", + "libraryName" : "IMMZc", + "type" : "ValueSetRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "349", + "locator" : "215:5-216:82", + "type" : "And", + "operand" : [ { + "localId" : "340", + "locator" : "215:11-215:57", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "335", + "locator" : "215:11-215:18", + "path" : "status", + "scope" : "O", + "type" : "Property" + } ] + }, { + "localId" : "339", + "locator" : "215:23-215:57", + "type" : "List", + "element" : [ { + "localId" : "336", + "locator" : "215:25-215:31", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "final", + "type" : "Literal" + }, { + "localId" : "337", + "locator" : "215:34-215:42", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "amended", + "type" : "Literal" + }, { + "localId" : "338", + "locator" : "215:45-215:55", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "corrected", + "type" : "Literal" + } ] + } ] + }, { + "localId" : "348", + "locator" : "216:11-216:82", + "type" : "IsFalse", + "operand" : { + "localId" : "347", + "locator" : "216:11-216:73", + "type" : "Coalesce", + "operand" : [ { + "name" : "ToBoolean", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "asType" : "{http://hl7.org/fhir}boolean", + "type" : "As", + "operand" : { + "localId" : "345", + "locator" : "216:20-216:65", + "path" : "value", + "type" : "Property", + "source" : { + "localId" : "344", + "locator" : "216:20-216:59", + "name" : "ModifierExtension", + "libraryName" : "WCom", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "342", + "locator" : "216:43", + "name" : "O", + "type" : "AliasRef" + }, { + "localId" : "343", + "locator" : "216:46-216:58", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "who-notDone", + "type" : "Literal" + } ] + } + } + } ] + }, { + "localId" : "346", + "locator" : "216:68-216:72", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } ] + } + } ] + }, + "return" : { + "localId" : "354", + "locator" : "217:5-217:42", + "expression" : { + "localId" : "353", + "locator" : "217:12-217:42", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "351", + "locator" : "217:12-217:18", + "path" : "value", + "scope" : "O", + "type" : "Property" + }, + "asTypeSpecifier" : { + "localId" : "352", + "locator" : "217:23-217:42", + "name" : "{http://hl7.org/fhir}CodeableConcept", + "type" : "NamedTypeSpecifier" + } + } + } + } + }, { + "localId" : "365", + "locator" : "222:1-223:82", + "name" : "Live Attenuated Vaccines", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "365", + "s" : [ { + "value" : [ "/*\n @dataElement Date and time of last live attenuated vaccine\n*/\n","define ","\"Live Attenuated Vaccines\"",":\n " ] + }, { + "r" : "364", + "s" : [ { + "s" : [ { + "r" : "358", + "s" : [ { + "r" : "357", + "s" : [ { + "s" : [ { + "value" : [ "\"Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "363", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "363", + "s" : [ { + "r" : "360", + "s" : [ { + "r" : "359", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "360", + "s" : [ { + "value" : [ "vaccineCode" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "362", + "s" : [ { + "r" : "361", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "362", + "s" : [ { + "value" : [ "\"Live Attenuated\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "364", + "locator" : "223:3-223:82", + "type" : "Query", + "source" : [ { + "localId" : "358", + "locator" : "223:3-223:35", + "alias" : "I", + "expression" : { + "localId" : "357", + "locator" : "223:3-223:33", + "name" : "Doses Administered to Patient", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "363", + "locator" : "223:37-223:82", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "360", + "locator" : "223:43-223:55", + "path" : "vaccineCode", + "scope" : "I", + "type" : "Property" + } ] + }, + "valueset" : { + "localId" : "362", + "locator" : "223:60-223:82", + "name" : "Live Attenuated", + "libraryName" : "IMMZc" + } + } + } + }, { + "localId" : "371", + "locator" : "225:1-226:58", + "name" : "Date of Latest Live Attenuated Vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "371", + "s" : [ { + "value" : [ "","define ","\"Date of Latest Live Attenuated Vaccine\"",":\n " ] + }, { + "r" : "370", + "s" : [ { + "r" : "368", + "s" : [ { + "r" : "367", + "s" : [ { + "value" : [ "First","(" ] + }, { + "r" : "366", + "s" : [ { + "value" : [ "\"Live Attenuated Vaccines\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "368", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "369", + "s" : [ { + "value" : [ "dateTime" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "370", + "locator" : "226:3-226:58", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "368", + "locator" : "226:3-226:46", + "path" : "occurrence", + "type" : "Property", + "source" : { + "localId" : "367", + "locator" : "226:3-226:35", + "type" : "First", + "source" : { + "localId" : "366", + "locator" : "226:9-226:34", + "name" : "Live Attenuated Vaccines", + "type" : "ExpressionRef" + } + } + }, + "asTypeSpecifier" : { + "localId" : "369", + "locator" : "226:51-226:58", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } + }, { + "localId" : "376", + "locator" : "236:1-237:26", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "376", + "s" : [ { + "value" : [ "/******************************\n * CQL Helper Functions\n */\n\n/**\n * @description Fetches a singleton protocol applied from an immunization\n * @comment The protocol list from the immunization\n */\n","define function ","Only","(","protocols"," " ] + }, { + "r" : "373", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "372", + "s" : [ { + "value" : [ "FHIR",".","Immunization",".","ProtocolApplied" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "375", + "s" : [ { + "r" : "375", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "374", + "s" : [ { + "value" : [ "protocols" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "375", + "locator" : "237:3-237:26", + "type" : "SingletonFrom", + "operand" : { + "localId" : "374", + "locator" : "237:18-237:26", + "name" : "protocols", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "protocols", + "operandTypeSpecifier" : { + "localId" : "373", + "locator" : "236:32-236:70", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "372", + "locator" : "236:37-236:69", + "name" : "{http://hl7.org/fhir}Immunization.ProtocolApplied", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "396", + "locator" : "242:1-248:4", + "name" : "ToDate", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "396", + "s" : [ { + "value" : [ "/**\n * @description Takes the date choice of a date/string choice (for Immunization date)\n */\n","define function ","ToDate","(","choice"," " ] + }, { + "r" : "379", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "377", + "s" : [ { + "value" : [ "FHIR",".","date" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "378", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "395", + "s" : [ { + "r" : "395", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "386", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "382", + "s" : [ { + "r" : "380", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "381", + "s" : [ { + "value" : [ "FHIR",".","date" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "385", + "s" : [ { + "r" : "383", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "384", + "s" : [ { + "value" : [ "FHIR",".","date" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n " ] + }, { + "r" : "394", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "389", + "s" : [ { + "r" : "387", + "value" : [ "null"," as " ] + }, { + "r" : "388", + "s" : [ { + "value" : [ "FHIR",".","date" ] + } ] + } ] + }, { + "r" : "390", + "value" : [ ", ","true",", " ] + }, { + "r" : "391", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "392", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "393", + "s" : [ { + "value" : [ "'Cannot compute a date from a String value'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "395", + "locator" : "243:3-248:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "386", + "locator" : "244:4-245:24", + "when" : { + "localId" : "382", + "locator" : "244:9-244:27", + "type" : "Is", + "operand" : { + "localId" : "380", + "locator" : "244:9-244:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "381", + "locator" : "244:19-244:27", + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "385", + "locator" : "245:6-245:24", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "383", + "locator" : "245:6-245:11", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "384", + "locator" : "245:16-245:24", + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + } + } + } ], + "else" : { + "localId" : "394", + "locator" : "247:7-247:97", + "type" : "Message", + "source" : { + "localId" : "389", + "locator" : "247:15-247:31", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "387", + "locator" : "247:15-247:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "388", + "locator" : "247:23-247:31", + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + } + }, + "condition" : { + "localId" : "390", + "locator" : "247:34-247:37", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "391", + "locator" : "247:40-247:42", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "392", + "locator" : "247:45-247:51", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "393", + "locator" : "247:54-247:96", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute a date from a String value", + "type" : "Literal" + } + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "379", + "locator" : "242:31-242:60", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "377", + "locator" : "242:38-242:46", + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "378", + "locator" : "242:49-242:59", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + }, { + "localId" : "416", + "locator" : "253:1-259:4", + "name" : "ToDateTime", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "416", + "s" : [ { + "value" : [ "/**\n * @description Takes the date choice of a date/string choice (for Immunization date)\n */\n","define function ","ToDateTime","(","choice"," " ] + }, { + "r" : "399", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "397", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "398", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "415", + "s" : [ { + "r" : "415", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "406", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "402", + "s" : [ { + "r" : "400", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "401", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "405", + "s" : [ { + "r" : "403", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "404", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n " ] + }, { + "r" : "414", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "409", + "s" : [ { + "r" : "407", + "value" : [ "null"," as " ] + }, { + "r" : "408", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "r" : "410", + "value" : [ ", ","true",", " ] + }, { + "r" : "411", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "412", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "413", + "s" : [ { + "value" : [ "'Cannot compute a date from a String value'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "415", + "locator" : "254:3-259:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "406", + "locator" : "255:4-256:28", + "when" : { + "localId" : "402", + "locator" : "255:9-255:31", + "type" : "Is", + "operand" : { + "localId" : "400", + "locator" : "255:9-255:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "401", + "locator" : "255:19-255:31", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "405", + "locator" : "256:6-256:28", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "403", + "locator" : "256:6-256:11", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "404", + "locator" : "256:16-256:28", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } + } ], + "else" : { + "localId" : "414", + "locator" : "258:7-258:101", + "type" : "Message", + "source" : { + "localId" : "409", + "locator" : "258:15-258:35", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "407", + "locator" : "258:15-258:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "408", + "locator" : "258:23-258:35", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "condition" : { + "localId" : "410", + "locator" : "258:38-258:41", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "411", + "locator" : "258:44-258:46", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "412", + "locator" : "258:49-258:55", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "413", + "locator" : "258:58-258:100", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute a date from a String value", + "type" : "Literal" + } + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "399", + "locator" : "253:35-253:68", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "397", + "locator" : "253:42-253:54", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "398", + "locator" : "253:57-253:67", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + }, { + "localId" : "436", + "locator" : "265:1-271:4", + "name" : "ToPositiveInt", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "436", + "s" : [ { + "value" : [ "/**\n * @description Takes a choice of FHIR.string and FHIR.positiveInt and ensures the result is a FHIR.positiveInt\n */\n","define function ","ToPositiveInt","(","choice"," " ] + }, { + "r" : "419", + "s" : [ { + "value" : [ "Choice<" ] + }, { + "r" : "417", + "s" : [ { + "value" : [ "FHIR",".","positiveInt" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "418", + "s" : [ { + "value" : [ "FHIR",".","string" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "435", + "s" : [ { + "r" : "435", + "s" : [ { + "value" : [ "case\n\t " ] + }, { + "r" : "426", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "422", + "s" : [ { + "r" : "420", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "421", + "s" : [ { + "value" : [ "FHIR",".","positiveInt" ] + } ] + } ] + }, { + "value" : [ " then\n \t" ] + }, { + "r" : "425", + "s" : [ { + "r" : "423", + "s" : [ { + "value" : [ "choice" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "424", + "s" : [ { + "value" : [ "FHIR",".","positiveInt" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\telse\n " ] + }, { + "r" : "434", + "s" : [ { + "value" : [ "Message","(" ] + }, { + "r" : "429", + "s" : [ { + "r" : "427", + "value" : [ "null"," as " ] + }, { + "r" : "428", + "s" : [ { + "value" : [ "FHIR",".","positiveInt" ] + } ] + } ] + }, { + "r" : "430", + "value" : [ ", ","true",", " ] + }, { + "r" : "431", + "s" : [ { + "value" : [ "'1'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "432", + "s" : [ { + "value" : [ "'Error'" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "433", + "s" : [ { + "value" : [ "'Cannot compute a positive from a String value'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ " // TODO: I'm sure that this is supported somehow?\n\tend" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "435", + "locator" : "266:3-271:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "426", + "locator" : "267:4-268:31", + "when" : { + "localId" : "422", + "locator" : "267:9-267:34", + "type" : "Is", + "operand" : { + "localId" : "420", + "locator" : "267:9-267:14", + "name" : "choice", + "type" : "OperandRef" + }, + "isTypeSpecifier" : { + "localId" : "421", + "locator" : "267:19-267:34", + "name" : "{http://hl7.org/fhir}positiveInt", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "425", + "locator" : "268:6-268:31", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "423", + "locator" : "268:6-268:11", + "name" : "choice", + "type" : "OperandRef" + }, + "asTypeSpecifier" : { + "localId" : "424", + "locator" : "268:16-268:31", + "name" : "{http://hl7.org/fhir}positiveInt", + "type" : "NamedTypeSpecifier" + } + } + } ], + "else" : { + "localId" : "434", + "locator" : "270:7-270:108", + "type" : "Message", + "source" : { + "localId" : "429", + "locator" : "270:15-270:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "427", + "locator" : "270:15-270:18", + "type" : "Null" + }, + "asTypeSpecifier" : { + "localId" : "428", + "locator" : "270:23-270:38", + "name" : "{http://hl7.org/fhir}positiveInt", + "type" : "NamedTypeSpecifier" + } + }, + "condition" : { + "localId" : "430", + "locator" : "270:41-270:44", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, + "code" : { + "localId" : "431", + "locator" : "270:47-270:49", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1", + "type" : "Literal" + }, + "severity" : { + "localId" : "432", + "locator" : "270:52-270:58", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Error", + "type" : "Literal" + }, + "message" : { + "localId" : "433", + "locator" : "270:61-270:107", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "Cannot compute a positive from a String value", + "type" : "Literal" + } + } + }, + "operand" : [ { + "name" : "choice", + "operandTypeSpecifier" : { + "localId" : "419", + "locator" : "265:38-265:74", + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "localId" : "417", + "locator" : "265:45-265:60", + "name" : "{http://hl7.org/fhir}positiveInt", + "type" : "NamedTypeSpecifier" + }, { + "localId" : "418", + "locator" : "265:63-265:73", + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon.json new file mode 100644 index 0000000000..2c0d725c21 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommon.json @@ -0,0 +1,70 @@ +{ + "resourceType" : "Library", + "id" : "IMMZCommon", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onWHOCommon
depends-onWHOConcepts
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onFHIRCommon
depends-onIMMZConcepts

Contents

text/cql

library IMMZCommon\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude WHOCommon called WCom\r\ninclude WHOConcepts called Wcon\r\ninclude FHIRHelpers version '4.0.1'\r\ninclude FHIRCommon called FC\r\ninclude IMMZConcepts called IMMZc\r\n\r\n\r\ncode "[#] Births total": '11640-0' from IMMZc."LOINC" display 'Pregnancy outcome'\r\ncode "[#] Births.preterm": '11637-6' from IMMZc."LOINC" display 'Preterm'\r\ncontext Patient\r\n\r\n//TODO: Check patient is alive\r\n\r\n//Get patient immunizations\r\ndefine "Get Immunization":\r\n  [Immunization]\r\n\r\n// check vaccine status\r\ndefine "Immunization Status":\r\n  [Immunization] I\r\n    return I.status\r\n\r\n//check Immunization.status for not-done\r\ndefine "Immunization Completed":\r\n  [Immunization] I\r\n    where I.status in {'completed'}\r\n\r\n//check Immunization.status for not-done\r\ndefine "Immunization Not Done":\r\n  [Immunization] I\r\n    where I.status in {'not-done'}\r\n\r\n//how do we handle entered-in-error? It seems like it should be different from not-done in how it should be handled? These should be ignored so we likely don't need to check for them. We should maybe set these to check for statuses like complete, or amended \r\n\r\n//check vaccine status reason - e.g. if vaccine was not given\r\ndefine "Immunization StatusReason":\r\n  [Immunization] I\r\n    return I.statusReason\r\n\r\n//define statusReason Immunizations for when it was not given\r\n\r\n//Procedure for vaccine administration\r\n\r\n//Get patient observations. Do we need this statement to get all Observations? \r\ndefine "Get Observations":\r\n  [Observation]\r\n\r\n//Check if patient is pregnant\r\n//not sure if pregnancy is an Observation\r\ndefine "Pregnant Observation":\r\n  [Observation] O\r\n  //IPS Uses Observation - https://hl7.org/fhir/uv/ips/StructureDefinition-observation-pregnancy-status-uv-ips.html\r\n    where (O.value as CodeableConcept) in Wcon."Pregnancy Status Pregnant"\r\n/*\r\nNeed to figure out how to add the OR Condition in case pregnancy is stored in a condition instead of an Observation \r\nor [Condition] C\r\n      where (C.code as CodeableConcept) in Wcon."Pregnancy Status Pregnant"\r\n*/\r\n\r\n/*\r\ndefine "Patient Has Active Sickle-cell disease":\r\n  exists([Condition: code = IMMZc."Sickle-cell Disease Condition"] C\r\n  where C.clinicalStatus in FC."Active Condition"\r\n  and C.abatement is null)\r\n*/\r\n\r\ndefine "Pregnant Condition":\r\n  [Condition] C\r\n    where (C.code as CodeableConcept) in Wcon."Pregnancy Status Pregnant" or (C.code as CodeableConcept) ~ IMMZc."Currently Pregnant"\r\n\r\ndefine "Pregnant": \r\n  exists\r\n  ( "Pregnant Observation")\r\n  or exists ("Pregnant Condition")\r\n\r\n//Seronegative. Relevant for Dengue \r\n/*\r\ndefine "Individual is Seronegative for Dengue":\r\n  [Observation] O\r\n    where (O.value as CodeableConcept) in IMMZc.Seronegative\r\n*/\r\n\r\n//Total number of births including abortions, stillbirths and live births.\r\ndefine "Patient mother's pregnancy outcome observation":\r\n  [Observation: code = "[#] Births total"] O\r\n    return O.value\r\n\r\n// Total number of children whose birth occurred through the end of the last day of the 37th week (259th day) \r\n// following onset of the last menstrual period\r\ndefine "Preterm":\r\n  [Observation: code = "[#] Births.preterm"] O\r\n    return O.value\r\n\r\n//Observed Preterm birth\r\ndefine "Preterm Birth":\r\n  [Observation] O\r\n    where (O.value as CodeableConcept) in IMMZc.PretermBirth\r\n\r\n//@dataElement Adverse Event:\r\ndefine "Adverse Event":\r\n  from [Immunization] I, [Observation] O\r\n    where O.id in (I.reaction R return Last(Split(R.detail.reference, '/')))\r\n    return O\r\n\r\n/* \r\n * @dataElement Allergy = True\r\n */\r\ndefine "Allergy = True":\r\n\t[AllergyIntolerance] A\r\n\twhere \r\n\tA.clinicalStatus ~ FC."allergy-active"\r\n\tand\r\n\tA.verificationStatus ~ FC."allergy-confirmed"\r\n\r\n/* \r\n * @dataElement Immunocompromised = True\r\n */\r\ndefine "Immunocompromised = True":\r\n\texists([Condition] C \r\n\twhere C.code in IMMZc."Immunocompromised"\r\n\tand\r\n  \tC.clinicalStatus in FC."Active Condition"\r\n\tand\r\n\tC.verificationStatus ~ FC."confirmed")\r\n\r\n/**\r\n * @dataElement All Doses Administered to Patient to patient ordered newest to oldest\r\n */\r\ndefine "Doses Administered to Patient":\r\n  [Immunization] I\r\n    where I.status = 'completed'\r\n    sort by date from (occurrence as FHIR.dateTime) desc\r\n/**\r\n * Contraindications \r\n */\r\ndefine "Severely Immunosuppressed Condition":\r\n  [Condition: IMMZc."Severely immunosuppressed"]\r\n\r\ndefine "History of Anaphylactic Reactions Condition":\r\n  [Condition: IMMZc."History of anaphylactic reactions"]\r\n\r\ndefine "Severe Allergic Reactions Condition":\r\n  [Condition: IMMZc."Severe allergic reactions"]\r\n\r\ndefine "Symptomatic HIV Infection Condition":\r\n  [Condition: IMMZc."Symptomatic HIV infection"]\r\n\r\n\r\n/******************************\r\n * Test Results\r\n */\r\n\r\n\r\ndefine "Patient birth weight observation value":\r\n[Observation: code in IMMZc."Patient birth weight observation value"] O\r\n  return O.value as FHIR.Quantity\r\n\r\n/** \r\n * @dataElement Patient age in years\r\n */\r\ndefine "Current Patient Age In Years":\r\n  AgeInYearsAt(Today())\r\n  //Today() - (Patient.birthDate as System.Date)\r\n\r\n/** \r\n * @dataElement Patient age in weeks\r\n */\r\ndefine "Current Patient Age In Weeks":\r\n  AgeInWeeksAt(Today())\r\n\r\n/** \r\n * @dataElement Patient age in months\r\n */\r\ndefine "Current Patient Age In Months":\r\n  AgeInMonthsAt(Today())\r\n\r\n/** \r\n * @dataElement Patient biological sex used for deciding vaccine eligibility\r\n * TODO: "Gender" of patient in FHIR is the administrative gender - or can we expect that this will be biological sex and administrative\r\n *        gender identity will be captured using the gender identity extension?\r\n */\r\ndefine "Patient Biological Sex":\r\n  Patient.gender\r\n\r\ndefine "Patient HAART Treatment Start Date":\r\n  Last([MedicationAdministration] A \r\n    where \r\n      ExtractMedicationCode(A.medication) in IMMZc."ARV Drugs" \r\n      and A.status in { 'active', 'complete' }\r\n      and ExtractMedicationInitiationDate(A.effective) less than 12 'month' before Today()\r\n      return ExtractMedicationInitiationDate(A.effective))\r\n\r\ndefine "Patient HAART Treatment Started 6 to 12 Months Ago":\r\n  "Patient HAART Treatment Start Date" between Now() - 12 months and Now() - 6 months\r\n\r\n/**\r\n * @dataElement The patient has a medication record which indicates that they are receiving ARV\r\n */\r\ndefine "Patient is receiving HAART":\r\n //exists([MedicationStatement] S where ExtractMedicationCode(S.medication) in IMMZc."ARV Drugs" and S.status = 'active')\r\n //or \r\n exists([MedicationAdministration] A where ExtractMedicationCode(A.medication) in IMMZc."ARV Drugs" and A.status = 'in-progress')\r\n //union \r\n //\r\n\r\n/*\r\n  @dataElement HIV Status observations of the patient most recent first\r\n*/\r\ndefine "HIV Status":\r\n  [Observation: IMMZc."HIV status"] O\r\n    where O.status in { 'final', 'amended', 'corrected' }\r\n      and Coalesce(WCom.ModifierExtension(O, 'who-notDone').value, false) is false\r\n    return O.value as FHIR.CodeableConcept\r\n\r\n/*\r\n  @dataElement Date and time of last live attenuated vaccine\r\n*/\r\ndefine "Live Attenuated Vaccines":\r\n  "Doses Administered to Patient" I where I.vaccineCode in IMMZc."Live Attenuated"\r\n\r\ndefine "Date of Latest Live Attenuated Vaccine":\r\n  First("Live Attenuated Vaccines").occurrence as dateTime\r\n\r\n/******************************\r\n * CQL Helper Functions\r\n */\r\n\r\n/**\r\n * @description Fetches a singleton protocol applied from an immunization\r\n * @comment The protocol list from the immunization\r\n */\r\ndefine function Only(protocols List<FHIR.Immunization.ProtocolApplied>):\r\n  singleton from protocols\r\n\r\n/**\r\n * @description Takes the date choice of a date/string choice (for Immunization date)\r\n */\r\ndefine function ToDate(choice Choice<FHIR.date, FHIR.string>):\r\n  case\r\n\t  when choice is FHIR.date then\r\n    \tchoice as FHIR.date\r\n\t\telse\r\n      Message(null as FHIR.date, true, '1', 'Error', 'Cannot compute a date from a String value')\r\n\tend\r\n\r\n/**\r\n * @description Takes the date choice of a date/string choice (for Immunization date)\r\n */\r\ndefine function ToDateTime(choice Choice<FHIR.dateTime, FHIR.string>):\r\n  case\r\n\t  when choice is FHIR.dateTime then\r\n    \tchoice as FHIR.dateTime\r\n\t\telse\r\n      Message(null as FHIR.dateTime, true, '1', 'Error', 'Cannot compute a date from a String value')\r\n\tend\r\n\r\n\r\n/**\r\n * @description Takes a choice of FHIR.string and FHIR.positiveInt and ensures the result is a FHIR.positiveInt\r\n */\r\ndefine function ToPositiveInt(choice Choice<FHIR.positiveInt, FHIR.string>):\r\n  case\r\n\t  when choice is FHIR.positiveInt then\r\n    \tchoice as FHIR.positiveInt\r\n\t\telse\r\n      Message(null as FHIR.positiveInt, true, '1', 'Error', 'Cannot compute a positive from a String value') // TODO: I'm sure that this is supported somehow?\r\n\tend\r\n\r\n\r\n/**\r\n * @description Takes a choice between a Medication and a CodeableConcept and returns just the code of the medication\r\n */\r\ndefine function ExtractMedicationCode(choice Choice<FHIR.CodeableConcept, FHIR.Reference>):\r\n  case\r\n\t  when choice is FHIR.CodeableConcept then\r\n    \tchoice as FHIR.CodeableConcept\r\n    when choice is FHIR.Reference then\r\n      First([Medication] M \r\n        where M.id = Last(Split(choice.reference, '/'))\r\n        return M.code as FHIR.CodeableConcept)\r\n\t\telse\r\n      Message(null as FHIR.CodeableConcept, true, '1', 'Error', 'Cannot compute a medication code') // TODO: I'm sure that this is supported somehow?\r\n\tend\r\n\r\n\r\n/**\r\n * @description Takes a choice between a Medication and a CodeableConcept and returns just the code of the medication\r\n */\r\ndefine function ExtractMedicationInitiationDate(choice Choice<FHIR.dateTime, FHIR.Period>):\r\n  case\r\n\t  when choice is FHIR.Period then\r\n    \tstart of (choice as FHIR.Period)\r\n    when choice is FHIR.dateTime then\r\n      choice as FHIR.dateTime\r\n\t\telse\r\n      Message(null as FHIR.dateTime, true, '1', 'Error', 'Cannot compute medication treatment initiation date') // TODO: I'm sure that this is supported somehow?\r\n\tend\r\n\r\n

Content not shown - (application/elm+xml, size = 131Kb)

Content not shown - (application/elm+json, size = 239Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon", + "version" : "0.1.0", + "name" : "IMMZCommon", + "title" : "IMMZCommon", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines common terminologies and functions used throughout the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBJTU1aQ29tbW9uDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tDQppbmNsdWRlIFdIT0NvbmNlcHRzIGNhbGxlZCBXY29uDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJw0KaW5jbHVkZSBGSElSQ29tbW9uIGNhbGxlZCBGQw0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQoNCg0KY29kZSAiWyNdIEJpcnRocyB0b3RhbCI6ICcxMTY0MC0wJyBmcm9tIElNTVpjLiJMT0lOQyIgZGlzcGxheSAnUHJlZ25hbmN5IG91dGNvbWUnDQpjb2RlICJbI10gQmlydGhzLnByZXRlcm0iOiAnMTE2MzctNicgZnJvbSBJTU1aYy4iTE9JTkMiIGRpc3BsYXkgJ1ByZXRlcm0nDQpjb250ZXh0IFBhdGllbnQNCg0KLy9UT0RPOiBDaGVjayBwYXRpZW50IGlzIGFsaXZlDQoNCi8vR2V0IHBhdGllbnQgaW1tdW5pemF0aW9ucw0KZGVmaW5lICJHZXQgSW1tdW5pemF0aW9uIjoNCiAgW0ltbXVuaXphdGlvbl0NCg0KLy8gY2hlY2sgdmFjY2luZSBzdGF0dXMNCmRlZmluZSAiSW1tdW5pemF0aW9uIFN0YXR1cyI6DQogIFtJbW11bml6YXRpb25dIEkNCiAgICByZXR1cm4gSS5zdGF0dXMNCg0KLy9jaGVjayBJbW11bml6YXRpb24uc3RhdHVzIGZvciBub3QtZG9uZQ0KZGVmaW5lICJJbW11bml6YXRpb24gQ29tcGxldGVkIjoNCiAgW0ltbXVuaXphdGlvbl0gSQ0KICAgIHdoZXJlIEkuc3RhdHVzIGluIHsnY29tcGxldGVkJ30NCg0KLy9jaGVjayBJbW11bml6YXRpb24uc3RhdHVzIGZvciBub3QtZG9uZQ0KZGVmaW5lICJJbW11bml6YXRpb24gTm90IERvbmUiOg0KICBbSW1tdW5pemF0aW9uXSBJDQogICAgd2hlcmUgSS5zdGF0dXMgaW4geydub3QtZG9uZSd9DQoNCi8vaG93IGRvIHdlIGhhbmRsZSBlbnRlcmVkLWluLWVycm9yPyBJdCBzZWVtcyBsaWtlIGl0IHNob3VsZCBiZSBkaWZmZXJlbnQgZnJvbSBub3QtZG9uZSBpbiBob3cgaXQgc2hvdWxkIGJlIGhhbmRsZWQ/IFRoZXNlIHNob3VsZCBiZSBpZ25vcmVkIHNvIHdlIGxpa2VseSBkb24ndCBuZWVkIHRvIGNoZWNrIGZvciB0aGVtLiBXZSBzaG91bGQgbWF5YmUgc2V0IHRoZXNlIHRvIGNoZWNrIGZvciBzdGF0dXNlcyBsaWtlIGNvbXBsZXRlLCBvciBhbWVuZGVkIA0KDQovL2NoZWNrIHZhY2NpbmUgc3RhdHVzIHJlYXNvbiAtIGUuZy4gaWYgdmFjY2luZSB3YXMgbm90IGdpdmVuDQpkZWZpbmUgIkltbXVuaXphdGlvbiBTdGF0dXNSZWFzb24iOg0KICBbSW1tdW5pemF0aW9uXSBJDQogICAgcmV0dXJuIEkuc3RhdHVzUmVhc29uDQoNCi8vZGVmaW5lIHN0YXR1c1JlYXNvbiBJbW11bml6YXRpb25zIGZvciB3aGVuIGl0IHdhcyBub3QgZ2l2ZW4NCg0KLy9Qcm9jZWR1cmUgZm9yIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24NCg0KLy9HZXQgcGF0aWVudCBvYnNlcnZhdGlvbnMuIERvIHdlIG5lZWQgdGhpcyBzdGF0ZW1lbnQgdG8gZ2V0IGFsbCBPYnNlcnZhdGlvbnM/IA0KZGVmaW5lICJHZXQgT2JzZXJ2YXRpb25zIjoNCiAgW09ic2VydmF0aW9uXQ0KDQovL0NoZWNrIGlmIHBhdGllbnQgaXMgcHJlZ25hbnQNCi8vbm90IHN1cmUgaWYgcHJlZ25hbmN5IGlzIGFuIE9ic2VydmF0aW9uDQpkZWZpbmUgIlByZWduYW50IE9ic2VydmF0aW9uIjoNCiAgW09ic2VydmF0aW9uXSBPDQogIC8vSVBTIFVzZXMgT2JzZXJ2YXRpb24gLSBodHRwczovL2hsNy5vcmcvZmhpci91di9pcHMvU3RydWN0dXJlRGVmaW5pdGlvbi1vYnNlcnZhdGlvbi1wcmVnbmFuY3ktc3RhdHVzLXV2LWlwcy5odG1sDQogICAgd2hlcmUgKE8udmFsdWUgYXMgQ29kZWFibGVDb25jZXB0KSBpbiBXY29uLiJQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50Ig0KLyoNCk5lZWQgdG8gZmlndXJlIG91dCBob3cgdG8gYWRkIHRoZSBPUiBDb25kaXRpb24gaW4gY2FzZSBwcmVnbmFuY3kgaXMgc3RvcmVkIGluIGEgY29uZGl0aW9uIGluc3RlYWQgb2YgYW4gT2JzZXJ2YXRpb24gDQpvciBbQ29uZGl0aW9uXSBDDQogICAgICB3aGVyZSAoQy5jb2RlIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gV2Nvbi4iUHJlZ25hbmN5IFN0YXR1cyBQcmVnbmFudCINCiovDQoNCi8qDQpkZWZpbmUgIlBhdGllbnQgSGFzIEFjdGl2ZSBTaWNrbGUtY2VsbCBkaXNlYXNlIjoNCiAgZXhpc3RzKFtDb25kaXRpb246IGNvZGUgPSBJTU1aYy4iU2lja2xlLWNlbGwgRGlzZWFzZSBDb25kaXRpb24iXSBDDQogIHdoZXJlIEMuY2xpbmljYWxTdGF0dXMgaW4gRkMuIkFjdGl2ZSBDb25kaXRpb24iDQogIGFuZCBDLmFiYXRlbWVudCBpcyBudWxsKQ0KKi8NCg0KZGVmaW5lICJQcmVnbmFudCBDb25kaXRpb24iOg0KICBbQ29uZGl0aW9uXSBDDQogICAgd2hlcmUgKEMuY29kZSBhcyBDb2RlYWJsZUNvbmNlcHQpIGluIFdjb24uIlByZWduYW5jeSBTdGF0dXMgUHJlZ25hbnQiIG9yIChDLmNvZGUgYXMgQ29kZWFibGVDb25jZXB0KSB+IElNTVpjLiJDdXJyZW50bHkgUHJlZ25hbnQiDQoNCmRlZmluZSAiUHJlZ25hbnQiOiANCiAgZXhpc3RzDQogICggIlByZWduYW50IE9ic2VydmF0aW9uIikNCiAgb3IgZXhpc3RzICgiUHJlZ25hbnQgQ29uZGl0aW9uIikNCg0KLy9TZXJvbmVnYXRpdmUuIFJlbGV2YW50IGZvciBEZW5ndWUgDQovKg0KZGVmaW5lICJJbmRpdmlkdWFsIGlzIFNlcm9uZWdhdGl2ZSBmb3IgRGVuZ3VlIjoNCiAgW09ic2VydmF0aW9uXSBPDQogICAgd2hlcmUgKE8udmFsdWUgYXMgQ29kZWFibGVDb25jZXB0KSBpbiBJTU1aYy5TZXJvbmVnYXRpdmUNCiovDQoNCi8vVG90YWwgbnVtYmVyIG9mIGJpcnRocyBpbmNsdWRpbmcgYWJvcnRpb25zLCBzdGlsbGJpcnRocyBhbmQgbGl2ZSBiaXJ0aHMuDQpkZWZpbmUgIlBhdGllbnQgbW90aGVyJ3MgcHJlZ25hbmN5IG91dGNvbWUgb2JzZXJ2YXRpb24iOg0KICBbT2JzZXJ2YXRpb246IGNvZGUgPSAiWyNdIEJpcnRocyB0b3RhbCJdIE8NCiAgICByZXR1cm4gTy52YWx1ZQ0KDQovLyBUb3RhbCBudW1iZXIgb2YgY2hpbGRyZW4gd2hvc2UgYmlydGggb2NjdXJyZWQgdGhyb3VnaCB0aGUgZW5kIG9mIHRoZSBsYXN0IGRheSBvZiB0aGUgMzd0aCB3ZWVrICgyNTl0aCBkYXkpIA0KLy8gZm9sbG93aW5nIG9uc2V0IG9mIHRoZSBsYXN0IG1lbnN0cnVhbCBwZXJpb2QNCmRlZmluZSAiUHJldGVybSI6DQogIFtPYnNlcnZhdGlvbjogY29kZSA9ICJbI10gQmlydGhzLnByZXRlcm0iXSBPDQogICAgcmV0dXJuIE8udmFsdWUNCg0KLy9PYnNlcnZlZCBQcmV0ZXJtIGJpcnRoDQpkZWZpbmUgIlByZXRlcm0gQmlydGgiOg0KICBbT2JzZXJ2YXRpb25dIE8NCiAgICB3aGVyZSAoTy52YWx1ZSBhcyBDb2RlYWJsZUNvbmNlcHQpIGluIElNTVpjLlByZXRlcm1CaXJ0aA0KDQovL0BkYXRhRWxlbWVudCBBZHZlcnNlIEV2ZW50Og0KZGVmaW5lICJBZHZlcnNlIEV2ZW50IjoNCiAgZnJvbSBbSW1tdW5pemF0aW9uXSBJLCBbT2JzZXJ2YXRpb25dIE8NCiAgICB3aGVyZSBPLmlkIGluIChJLnJlYWN0aW9uIFIgcmV0dXJuIExhc3QoU3BsaXQoUi5kZXRhaWwucmVmZXJlbmNlLCAnLycpKSkNCiAgICByZXR1cm4gTw0KDQovKiANCiAqIEBkYXRhRWxlbWVudCBBbGxlcmd5ID0gVHJ1ZQ0KICovDQpkZWZpbmUgIkFsbGVyZ3kgPSBUcnVlIjoNCglbQWxsZXJneUludG9sZXJhbmNlXSBBDQoJd2hlcmUgDQoJQS5jbGluaWNhbFN0YXR1cyB+IEZDLiJhbGxlcmd5LWFjdGl2ZSINCglhbmQNCglBLnZlcmlmaWNhdGlvblN0YXR1cyB+IEZDLiJhbGxlcmd5LWNvbmZpcm1lZCINCg0KLyogDQogKiBAZGF0YUVsZW1lbnQgSW1tdW5vY29tcHJvbWlzZWQgPSBUcnVlDQogKi8NCmRlZmluZSAiSW1tdW5vY29tcHJvbWlzZWQgPSBUcnVlIjoNCglleGlzdHMoW0NvbmRpdGlvbl0gQyANCgl3aGVyZSBDLmNvZGUgaW4gSU1NWmMuIkltbXVub2NvbXByb21pc2VkIg0KCWFuZA0KICAJQy5jbGluaWNhbFN0YXR1cyBpbiBGQy4iQWN0aXZlIENvbmRpdGlvbiINCglhbmQNCglDLnZlcmlmaWNhdGlvblN0YXR1cyB+IEZDLiJjb25maXJtZWQiKQ0KDQovKioNCiAqIEBkYXRhRWxlbWVudCBBbGwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdG8gcGF0aWVudCBvcmRlcmVkIG5ld2VzdCB0byBvbGRlc3QNCiAqLw0KZGVmaW5lICJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6DQogIFtJbW11bml6YXRpb25dIEkNCiAgICB3aGVyZSBJLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgc29ydCBieSBkYXRlIGZyb20gKG9jY3VycmVuY2UgYXMgRkhJUi5kYXRlVGltZSkgZGVzYw0KLyoqDQogKiBDb250cmFpbmRpY2F0aW9ucyANCiAqLw0KZGVmaW5lICJTZXZlcmVseSBJbW11bm9zdXBwcmVzc2VkIENvbmRpdGlvbiI6DQogIFtDb25kaXRpb246IElNTVpjLiJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIl0NCg0KZGVmaW5lICJIaXN0b3J5IG9mIEFuYXBoeWxhY3RpYyBSZWFjdGlvbnMgQ29uZGl0aW9uIjoNCiAgW0NvbmRpdGlvbjogSU1NWmMuIkhpc3Rvcnkgb2YgYW5hcGh5bGFjdGljIHJlYWN0aW9ucyJdDQoNCmRlZmluZSAiU2V2ZXJlIEFsbGVyZ2ljIFJlYWN0aW9ucyBDb25kaXRpb24iOg0KICBbQ29uZGl0aW9uOiBJTU1aYy4iU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyJdDQoNCmRlZmluZSAiU3ltcHRvbWF0aWMgSElWIEluZmVjdGlvbiBDb25kaXRpb24iOg0KICBbQ29uZGl0aW9uOiBJTU1aYy4iU3ltcHRvbWF0aWMgSElWIGluZmVjdGlvbiJdDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogVGVzdCBSZXN1bHRzDQogKi8NCg0KDQpkZWZpbmUgIlBhdGllbnQgYmlydGggd2VpZ2h0IG9ic2VydmF0aW9uIHZhbHVlIjoNCltPYnNlcnZhdGlvbjogY29kZSBpbiBJTU1aYy4iUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiXSBPDQogIHJldHVybiBPLnZhbHVlIGFzIEZISVIuUXVhbnRpdHkNCg0KLyoqIA0KICogQGRhdGFFbGVtZW50IFBhdGllbnQgYWdlIGluIHllYXJzDQogKi8NCmRlZmluZSAiQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyI6DQogIEFnZUluWWVhcnNBdChUb2RheSgpKQ0KICAvL1RvZGF5KCkgLSAoUGF0aWVudC5iaXJ0aERhdGUgYXMgU3lzdGVtLkRhdGUpDQoNCi8qKiANCiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGFnZSBpbiB3ZWVrcw0KICovDQpkZWZpbmUgIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiOg0KICBBZ2VJbldlZWtzQXQoVG9kYXkoKSkNCg0KLyoqIA0KICogQGRhdGFFbGVtZW50IFBhdGllbnQgYWdlIGluIG1vbnRocw0KICovDQpkZWZpbmUgIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIjoNCiAgQWdlSW5Nb250aHNBdChUb2RheSgpKQ0KDQovKiogDQogKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBiaW9sb2dpY2FsIHNleCB1c2VkIGZvciBkZWNpZGluZyB2YWNjaW5lIGVsaWdpYmlsaXR5DQogKiBUT0RPOiAiR2VuZGVyIiBvZiBwYXRpZW50IGluIEZISVIgaXMgdGhlIGFkbWluaXN0cmF0aXZlIGdlbmRlciAtIG9yIGNhbiB3ZSBleHBlY3QgdGhhdCB0aGlzIHdpbGwgYmUgYmlvbG9naWNhbCBzZXggYW5kIGFkbWluaXN0cmF0aXZlDQogKiAgICAgICAgZ2VuZGVyIGlkZW50aXR5IHdpbGwgYmUgY2FwdHVyZWQgdXNpbmcgdGhlIGdlbmRlciBpZGVudGl0eSBleHRlbnNpb24/DQogKi8NCmRlZmluZSAiUGF0aWVudCBCaW9sb2dpY2FsIFNleCI6DQogIFBhdGllbnQuZ2VuZGVyDQoNCmRlZmluZSAiUGF0aWVudCBIQUFSVCBUcmVhdG1lbnQgU3RhcnQgRGF0ZSI6DQogIExhc3QoW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0gQSANCiAgICB3aGVyZSANCiAgICAgIEV4dHJhY3RNZWRpY2F0aW9uQ29kZShBLm1lZGljYXRpb24pIGluIElNTVpjLiJBUlYgRHJ1Z3MiIA0KICAgICAgYW5kIEEuc3RhdHVzIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZScgfQ0KICAgICAgYW5kIEV4dHJhY3RNZWRpY2F0aW9uSW5pdGlhdGlvbkRhdGUoQS5lZmZlY3RpdmUpIGxlc3MgdGhhbiAxMiAnbW9udGgnIGJlZm9yZSBUb2RheSgpDQogICAgICByZXR1cm4gRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZShBLmVmZmVjdGl2ZSkpDQoNCmRlZmluZSAiUGF0aWVudCBIQUFSVCBUcmVhdG1lbnQgU3RhcnRlZCA2IHRvIDEyIE1vbnRocyBBZ28iOg0KICAiUGF0aWVudCBIQUFSVCBUcmVhdG1lbnQgU3RhcnQgRGF0ZSIgYmV0d2VlbiBOb3coKSAtIDEyIG1vbnRocyBhbmQgTm93KCkgLSA2IG1vbnRocw0KDQovKioNCiAqIEBkYXRhRWxlbWVudCBUaGUgcGF0aWVudCBoYXMgYSBtZWRpY2F0aW9uIHJlY29yZCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGV5IGFyZSByZWNlaXZpbmcgQVJWDQogKi8NCmRlZmluZSAiUGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQiOg0KIC8vZXhpc3RzKFtNZWRpY2F0aW9uU3RhdGVtZW50XSBTIHdoZXJlIEV4dHJhY3RNZWRpY2F0aW9uQ29kZShTLm1lZGljYXRpb24pIGluIElNTVpjLiJBUlYgRHJ1Z3MiIGFuZCBTLnN0YXR1cyA9ICdhY3RpdmUnKQ0KIC8vb3IgDQogZXhpc3RzKFtNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25dIEEgd2hlcmUgRXh0cmFjdE1lZGljYXRpb25Db2RlKEEubWVkaWNhdGlvbikgaW4gSU1NWmMuIkFSViBEcnVncyIgYW5kIEEuc3RhdHVzID0gJ2luLXByb2dyZXNzJykNCiAvL3VuaW9uIA0KIC8vDQoNCi8qDQogIEBkYXRhRWxlbWVudCBISVYgU3RhdHVzIG9ic2VydmF0aW9ucyBvZiB0aGUgcGF0aWVudCBtb3N0IHJlY2VudCBmaXJzdA0KKi8NCmRlZmluZSAiSElWIFN0YXR1cyI6DQogIFtPYnNlcnZhdGlvbjogSU1NWmMuIkhJViBzdGF0dXMiXSBPDQogICAgd2hlcmUgTy5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0NCiAgICAgIGFuZCBDb2FsZXNjZShXQ29tLk1vZGlmaWVyRXh0ZW5zaW9uKE8sICd3aG8tbm90RG9uZScpLnZhbHVlLCBmYWxzZSkgaXMgZmFsc2UNCiAgICByZXR1cm4gTy52YWx1ZSBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdA0KDQovKg0KICBAZGF0YUVsZW1lbnQgRGF0ZSBhbmQgdGltZSBvZiBsYXN0IGxpdmUgYXR0ZW51YXRlZCB2YWNjaW5lDQoqLw0KZGVmaW5lICJMaXZlIEF0dGVudWF0ZWQgVmFjY2luZXMiOg0KICAiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkgd2hlcmUgSS52YWNjaW5lQ29kZSBpbiBJTU1aYy4iTGl2ZSBBdHRlbnVhdGVkIg0KDQpkZWZpbmUgIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIjoNCiAgRmlyc3QoIkxpdmUgQXR0ZW51YXRlZCBWYWNjaW5lcyIpLm9jY3VycmVuY2UgYXMgZGF0ZVRpbWUNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogQ1FMIEhlbHBlciBGdW5jdGlvbnMNCiAqLw0KDQovKioNCiAqIEBkZXNjcmlwdGlvbiBGZXRjaGVzIGEgc2luZ2xldG9uIHByb3RvY29sIGFwcGxpZWQgZnJvbSBhbiBpbW11bml6YXRpb24NCiAqIEBjb21tZW50IFRoZSBwcm90b2NvbCBsaXN0IGZyb20gdGhlIGltbXVuaXphdGlvbg0KICovDQpkZWZpbmUgZnVuY3Rpb24gT25seShwcm90b2NvbHMgTGlzdDxGSElSLkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQ+KToNCiAgc2luZ2xldG9uIGZyb20gcHJvdG9jb2xzDQoNCi8qKg0KICogQGRlc2NyaXB0aW9uIFRha2VzIHRoZSBkYXRlIGNob2ljZSBvZiBhIGRhdGUvc3RyaW5nIGNob2ljZSAoZm9yIEltbXVuaXphdGlvbiBkYXRlKQ0KICovDQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlLCBGSElSLnN0cmluZz4pOg0KICBjYXNlDQoJICB3aGVuIGNob2ljZSBpcyBGSElSLmRhdGUgdGhlbg0KICAgIAljaG9pY2UgYXMgRkhJUi5kYXRlDQoJCWVsc2UNCiAgICAgIE1lc3NhZ2UobnVsbCBhcyBGSElSLmRhdGUsIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGEgZGF0ZSBmcm9tIGEgU3RyaW5nIHZhbHVlJykNCgllbmQNCg0KLyoqDQogKiBAZGVzY3JpcHRpb24gVGFrZXMgdGhlIGRhdGUgY2hvaWNlIG9mIGEgZGF0ZS9zdHJpbmcgY2hvaWNlIChmb3IgSW1tdW5pemF0aW9uIGRhdGUpDQogKi8NCmRlZmluZSBmdW5jdGlvbiBUb0RhdGVUaW1lKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5zdHJpbmc+KToNCiAgY2FzZQ0KCSAgd2hlbiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuDQogICAgCWNob2ljZSBhcyBGSElSLmRhdGVUaW1lDQoJCWVsc2UNCiAgICAgIE1lc3NhZ2UobnVsbCBhcyBGSElSLmRhdGVUaW1lLCB0cnVlLCAnMScsICdFcnJvcicsICdDYW5ub3QgY29tcHV0ZSBhIGRhdGUgZnJvbSBhIFN0cmluZyB2YWx1ZScpDQoJZW5kDQoNCg0KLyoqDQogKiBAZGVzY3JpcHRpb24gVGFrZXMgYSBjaG9pY2Ugb2YgRkhJUi5zdHJpbmcgYW5kIEZISVIucG9zaXRpdmVJbnQgYW5kIGVuc3VyZXMgdGhlIHJlc3VsdCBpcyBhIEZISVIucG9zaXRpdmVJbnQNCiAqLw0KZGVmaW5lIGZ1bmN0aW9uIFRvUG9zaXRpdmVJbnQoY2hvaWNlIENob2ljZTxGSElSLnBvc2l0aXZlSW50LCBGSElSLnN0cmluZz4pOg0KICBjYXNlDQoJICB3aGVuIGNob2ljZSBpcyBGSElSLnBvc2l0aXZlSW50IHRoZW4NCiAgICAJY2hvaWNlIGFzIEZISVIucG9zaXRpdmVJbnQNCgkJZWxzZQ0KICAgICAgTWVzc2FnZShudWxsIGFzIEZISVIucG9zaXRpdmVJbnQsIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGEgcG9zaXRpdmUgZnJvbSBhIFN0cmluZyB2YWx1ZScpIC8vIFRPRE86IEknbSBzdXJlIHRoYXQgdGhpcyBpcyBzdXBwb3J0ZWQgc29tZWhvdz8NCgllbmQNCg0KDQovKioNCiAqIEBkZXNjcmlwdGlvbiBUYWtlcyBhIGNob2ljZSBiZXR3ZWVuIGEgTWVkaWNhdGlvbiBhbmQgYSBDb2RlYWJsZUNvbmNlcHQgYW5kIHJldHVybnMganVzdCB0aGUgY29kZSBvZiB0aGUgbWVkaWNhdGlvbg0KICovDQpkZWZpbmUgZnVuY3Rpb24gRXh0cmFjdE1lZGljYXRpb25Db2RlKGNob2ljZSBDaG9pY2U8RkhJUi5Db2RlYWJsZUNvbmNlcHQsIEZISVIuUmVmZXJlbmNlPik6DQogIGNhc2UNCgkgIHdoZW4gY2hvaWNlIGlzIEZISVIuQ29kZWFibGVDb25jZXB0IHRoZW4NCiAgICAJY2hvaWNlIGFzIEZISVIuQ29kZWFibGVDb25jZXB0DQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5SZWZlcmVuY2UgdGhlbg0KICAgICAgRmlyc3QoW01lZGljYXRpb25dIE0gDQogICAgICAgIHdoZXJlIE0uaWQgPSBMYXN0KFNwbGl0KGNob2ljZS5yZWZlcmVuY2UsICcvJykpDQogICAgICAgIHJldHVybiBNLmNvZGUgYXMgRkhJUi5Db2RlYWJsZUNvbmNlcHQpDQoJCWVsc2UNCiAgICAgIE1lc3NhZ2UobnVsbCBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdCwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgYSBtZWRpY2F0aW9uIGNvZGUnKSAvLyBUT0RPOiBJJ20gc3VyZSB0aGF0IHRoaXMgaXMgc3VwcG9ydGVkIHNvbWVob3c/DQoJZW5kDQoNCg0KLyoqDQogKiBAZGVzY3JpcHRpb24gVGFrZXMgYSBjaG9pY2UgYmV0d2VlbiBhIE1lZGljYXRpb24gYW5kIGEgQ29kZWFibGVDb25jZXB0IGFuZCByZXR1cm5zIGp1c3QgdGhlIGNvZGUgb2YgdGhlIG1lZGljYXRpb24NCiAqLw0KZGVmaW5lIGZ1bmN0aW9uIEV4dHJhY3RNZWRpY2F0aW9uSW5pdGlhdGlvbkRhdGUoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOg0KICBjYXNlDQoJICB3aGVuIGNob2ljZSBpcyBGSElSLlBlcmlvZCB0aGVuDQogICAgCXN0YXJ0IG9mIChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpDQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuDQogICAgICBjaG9pY2UgYXMgRkhJUi5kYXRlVGltZQ0KCQllbHNlDQogICAgICBNZXNzYWdlKG51bGwgYXMgRkhJUi5kYXRlVGltZSwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgbWVkaWNhdGlvbiB0cmVhdG1lbnQgaW5pdGlhdGlvbiBkYXRlJykgLy8gVE9ETzogSSdtIHN1cmUgdGhhdCB0aGlzIGlzIHN1cHBvcnRlZCBzb21laG93Pw0KCWVuZA0KDQo=" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNDQ0Ij4KICAgICAgICAgPGE6cz5saWJyYXJ5IElNTVpDb21tb248L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpDb21tb24iIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iMzoxLTM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI1OjEtNToyOSIgbG9jYWxJZGVudGlmaWVyPSJXQ29tIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvV0hPQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5XSE9Db21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXQ29tPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY6MS02OjMxIiBsb2NhbElkZW50aWZpZXI9Ildjb24iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXY29uPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9Ijc6MS03OjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijg6MS04OjI4IiBsb2NhbElkZW50aWZpZXI9IkZDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEZDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9Ijk6MS05OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpjIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aYzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjEyOjEtMTI6ODEiIG5hbWU9IlsjXSBCaXJ0aHMgdG90YWwiIGlkPSIxMTY0MC0wIiBkaXNwbGF5PSJQcmVnbmFuY3kgb3V0Y29tZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7WyNdIEJpcnRocyB0b3RhbCZxdW90OzogJzExNjQwLTAnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmMuJnF1b3Q7TE9JTkMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1ByZWduYW5jeSBvdXRjb21lJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI3IiBsb2NhdG9yPSIxMjo0MS0xMjo1MyIgbmFtZT0iTE9JTkMiIGxpYnJhcnlOYW1lPSJJTU1aYyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMCIgbG9jYXRvcj0iMTM6MS0xMzo3MyIgbmFtZT0iWyNdIEJpcnRocy5wcmV0ZXJtIiBpZD0iMTE2MzctNiIgZGlzcGxheT0iUHJldGVybSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O1sjXSBCaXJ0aHMucHJldGVybSZxdW90OzogJzExNjM3LTYnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmMuJnF1b3Q7TE9JTkMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1ByZXRlcm0nPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjEzOjQzLTEzOjU1IiBuYW1lPSJMT0lOQyIgbGlicmFyeU5hbWU9IklNTVpjIi8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNDoxLTE0OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDoxLTE0OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjE5OjEtMjA6MTYiIG5hbWU9IkdldCBJbW11bml6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9UT0RPOiBDaGVjayBwYXRpZW50IGlzIGFsaXZlCgovL0dldCBwYXRpZW50IGltbXVuaXphdGlvbnMKZGVmaW5lICZxdW90O0dldCBJbW11bml6YXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICA8YTpzPltJbW11bml6YXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMjA6My0yMDoxNiIgZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjIzOjEtMjU6MTkiIG5hbWU9IkltbXVuaXphdGlvbiBTdGF0dXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gY2hlY2sgdmFjY2luZSBzdGF0dXMKZGVmaW5lICZxdW90O0ltbXVuaXphdGlvbiBTdGF0dXMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltJbW11bml6YXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjI0OjMtMjU6MTkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjI0OjMtMjQ6MTgiIGFsaWFzPSJJIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjI0OjMtMjQ6MTYiIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIyNTo1LTI1OjE5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI1OjEyLTI1OjE5IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjI4OjEtMzA6MzUiIG5hbWU9IkltbXVuaXphdGlvbiBDb21wbGV0ZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyOCI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9jaGVjayBJbW11bml6YXRpb24uc3RhdHVzIGZvciBub3QtZG9uZQpkZWZpbmUgJnF1b3Q7SW1tdW5pemF0aW9uIENvbXBsZXRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0ltbXVuaXphdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPns8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbXBsZXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+fTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjI5OjMtMzA6MzUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjI5OjMtMjk6MTgiIGFsaWFzPSJJIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAiIGxvY2F0b3I9IjI5OjMtMjk6MTYiIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjMwOjUtMzA6MzUiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIzMDoxMS0zMDoxOCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iSSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjMwOjIzLTMwOjM1IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIzMDoyNC0zMDozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSIzMzoxLTM1OjM0IiBuYW1lPSJJbW11bml6YXRpb24gTm90IERvbmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9jaGVjayBJbW11bml6YXRpb24uc3RhdHVzIGZvciBub3QtZG9uZQpkZWZpbmUgJnF1b3Q7SW1tdW5pemF0aW9uIE5vdCBEb25lJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bSW1tdW5pemF0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ezwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nbm90LWRvbmUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPn08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSIzNDozLTM1OjM0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSIzNDozLTM0OjE4IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSIzNDozLTM0OjE2IiBkYXRhVHlwZT0iZmhpcjpJbW11bml6YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9JbW11bml6YXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIzNTo1LTM1OjM0IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMiIgbG9jYXRvcj0iMzU6MTEtMzU6MTgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSIzNToyMy0zNTozNCIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIzMyIgbG9jYXRvcj0iMzU6MjQtMzU6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJub3QtZG9uZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI0MDoxLTQyOjI1IiBuYW1lPSJJbW11bml6YXRpb24gU3RhdHVzUmVhc29uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICA8YTpzPi8vaG93IGRvIHdlIGhhbmRsZSBlbnRlcmVkLWluLWVycm9yPyBJdCBzZWVtcyBsaWtlIGl0IHNob3VsZCBiZSBkaWZmZXJlbnQgZnJvbSBub3QtZG9uZSBpbiBob3cgaXQgc2hvdWxkIGJlIGhhbmRsZWQ/IFRoZXNlIHNob3VsZCBiZSBpZ25vcmVkIHNvIHdlIGxpa2VseSBkb24ndCBuZWVkIHRvIGNoZWNrIGZvciB0aGVtLiBXZSBzaG91bGQgbWF5YmUgc2V0IHRoZXNlIHRvIGNoZWNrIGZvciBzdGF0dXNlcyBsaWtlIGNvbXBsZXRlLCBvciBhbWVuZGVkIAoKLy9jaGVjayB2YWNjaW5lIHN0YXR1cyByZWFzb24gLSBlLmcuIGlmIHZhY2NpbmUgd2FzIG5vdCBnaXZlbgpkZWZpbmUgJnF1b3Q7SW1tdW5pemF0aW9uIFN0YXR1c1JlYXNvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0ltbXVuaXphdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzUmVhc29uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDE6My00MjoyNSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNDE6My00MToxOCIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOCIgbG9jYXRvcj0iNDE6My00MToxNiIgZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQyOjUtNDI6MjUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDI6MTItNDI6MjUiIHBhdGg9InN0YXR1c1JlYXNvbiIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NiIgbG9jYXRvcj0iNDk6MS01MDoxNSIgbmFtZT0iR2V0IE9ic2VydmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgPGE6cz4vL2RlZmluZSBzdGF0dXNSZWFzb24gSW1tdW5pemF0aW9ucyBmb3Igd2hlbiBpdCB3YXMgbm90IGdpdmVuCgovL1Byb2NlZHVyZSBmb3IgdmFjY2luZSBhZG1pbmlzdHJhdGlvbgoKLy9HZXQgcGF0aWVudCBvYnNlcnZhdGlvbnMuIERvIHdlIG5lZWQgdGhpcyBzdGF0ZW1lbnQgdG8gZ2V0IGFsbCBPYnNlcnZhdGlvbnM/CmRlZmluZSAmcXVvdDtHZXQgT2JzZXJ2YXRpb25zJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5bT2JzZXJ2YXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NSIgbG9jYXRvcj0iNTA6My01MDoxNSIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU3IiBsb2NhdG9yPSI1NDoxLTU3Ojc0IiBuYW1lPSJQcmVnbmFudCBPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgPGE6cz4vL0NoZWNrIGlmIHBhdGllbnQgaXMgcHJlZ25hbnQKLy9ub3Qgc3VyZSBpZiBwcmVnbmFuY3kgaXMgYW4gT2JzZXJ2YXRpb24KZGVmaW5lICZxdW90O1ByZWduYW50IE9ic2VydmF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bT2JzZXJ2YXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgLy9JUFMgVXNlcyBPYnNlcnZhdGlvbiAtIGh0dHBzOi8vaGw3Lm9yZy9maGlyL3V2L2lwcy9TdHJ1Y3R1cmVEZWZpbml0aW9uLW9ic2VydmF0aW9uLXByZWduYW5jeS1zdGF0dXMtdXYtaXBzLmh0bWwKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPldjb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTYiIGxvY2F0b3I9IjU1OjMtNTc6NzQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjU1OjMtNTU6MTciIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDciIGxvY2F0b3I9IjU1OjMtNTU6MTUiIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSI1Nzo1LTU3Ojc0IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MiIgbG9jYXRvcj0iNTc6MTEtNTc6MzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSI1NzoxMi01NzoxOCIgcGF0aD0idmFsdWUiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MSIgbG9jYXRvcj0iNTc6MjMtNTc6MzciIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjU3OjQzLTU3Ojc0IiBuYW1lPSJQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50IiBsaWJyYXJ5TmFtZT0iV2NvbiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSI3MToxLTczOjEzMyIgbmFtZT0iUHJlZ25hbnQgQ29uZGl0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICA8YTpzPi8qCk5lZWQgdG8gZmlndXJlIG91dCBob3cgdG8gYWRkIHRoZSBPUiBDb25kaXRpb24gaW4gY2FzZSBwcmVnbmFuY3kgaXMgc3RvcmVkIGluIGEgY29uZGl0aW9uIGluc3RlYWQgb2YgYW4gT2JzZXJ2YXRpb24gCm9yIFtDb25kaXRpb25dIEMKICAgICAgd2hlcmUgKEMuY29kZSBhcyBDb2RlYWJsZUNvbmNlcHQpIGluIFdjb24uJnF1b3Q7UHJlZ25hbmN5IFN0YXR1cyBQcmVnbmFudCZxdW90OwoqLwoKLyoKZGVmaW5lICZxdW90O1BhdGllbnQgSGFzIEFjdGl2ZSBTaWNrbGUtY2VsbCBkaXNlYXNlJnF1b3Q7OgogIGV4aXN0cyhbQ29uZGl0aW9uOiBjb2RlID0gSU1NWmMuJnF1b3Q7U2lja2xlLWNlbGwgRGlzZWFzZSBDb25kaXRpb24mcXVvdDtdIEMKICB3aGVyZSBDLmNsaW5pY2FsU3RhdHVzIGluIEZDLiZxdW90O0FjdGl2ZSBDb25kaXRpb24mcXVvdDsKICBhbmQgQy5hYmF0ZW1lbnQgaXMgbnVsbCkKKi8KZGVmaW5lICZxdW90O1ByZWduYW50IENvbmRpdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0NvbmRpdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPldjb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpjPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudGx5IFByZWduYW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSI3MjozLTczOjEzMyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1OSIgbG9jYXRvcj0iNzI6My03MjoxNSIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1OCIgbG9jYXRvcj0iNzI6My03MjoxMyIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI3NCIgbG9jYXRvcj0iNzM6NS03MzoxMzMiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY2IiBsb2NhdG9yPSI3MzoxMS03Mzo3MyIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjczOjExLTczOjM3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iNzM6MTItNzM6MTciIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MiIgbG9jYXRvcj0iNzM6MjItNzM6MzYiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjczOjQyLTczOjczIiBuYW1lPSJQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50IiBsaWJyYXJ5TmFtZT0iV2NvbiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI3Mzo3OC03MzoxMzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI3Mzo3OC03MzoxMDQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI3Mzo3OS03Mzo4NCIgcGF0aD0iY29kZSIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSI3Mzo4OS03MzoxMDMiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjczOjEwOC03MzoxMzMiIG5hbWU9IkN1cnJlbnRseSBQcmVnbmFudCIgbGlicmFyeU5hbWU9IklNTVpjIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNzU6MS03ODozNCIgbmFtZT0iUHJlZ25hbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1ByZWduYW50JnF1b3Q7OiAKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmV4aXN0cwogIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQcmVnbmFudCBPYnNlcnZhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByZWduYW50IENvbmRpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgxIiBsb2NhdG9yPSI3NjozLTc4OjM0IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNzY6My03NzoyNyIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI3NzozLTc3OjI3IiBuYW1lPSJQcmVnbmFudCBPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MCIgbG9jYXRvcj0iNzg6Ni03ODozNCIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI3ODoxMy03ODozNCIgbmFtZT0iUHJlZ25hbnQgQ29uZGl0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODkiIGxvY2F0b3I9Ijg4OjEtOTA6MTgiIG5hbWU9IlBhdGllbnQgbW90aGVyJ3MgcHJlZ25hbmN5IG91dGNvbWUgb2JzZXJ2YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9TZXJvbmVnYXRpdmUuIFJlbGV2YW50IGZvciBEZW5ndWUgCi8qCmRlZmluZSAmcXVvdDtJbmRpdmlkdWFsIGlzIFNlcm9uZWdhdGl2ZSBmb3IgRGVuZ3VlJnF1b3Q7OgogIFtPYnNlcnZhdGlvbl0gTwogICAgd2hlcmUgKE8udmFsdWUgYXMgQ29kZWFibGVDb25jZXB0KSBpbiBJTU1aYy5TZXJvbmVnYXRpdmUKKi8KCi8vVG90YWwgbnVtYmVyIG9mIGJpcnRocyBpbmNsdWRpbmcgYWJvcnRpb25zLCBzdGlsbGJpcnRocyBhbmQgbGl2ZSBiaXJ0aHMuCmRlZmluZSAmcXVvdDtQYXRpZW50IG1vdGhlcidzIHByZWduYW5jeSBvdXRjb21lIG9ic2VydmF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bT2JzZXJ2YXRpb246IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7WyNdIEJpcnRocyB0b3RhbCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OCIgbG9jYXRvcj0iODk6My05MDoxOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NCIgbG9jYXRvcj0iODk6My04OTo0NCIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MyIgbG9jYXRvcj0iODk6My04OTo0MiIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iPSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OToyNC04OTo0MSIgbmFtZT0iWyNdIEJpcnRocyB0b3RhbCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iOTA6NS05MDoxOCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI5MDoxMi05MDoxOCIgcGF0aD0idmFsdWUiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTYiIGxvY2F0b3I9Ijk0OjEtOTY6MTgiIG5hbWU9IlByZXRlcm0iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gVG90YWwgbnVtYmVyIG9mIGNoaWxkcmVuIHdob3NlIGJpcnRoIG9jY3VycmVkIHRocm91Z2ggdGhlIGVuZCBvZiB0aGUgbGFzdCBkYXkgb2YgdGhlIDM3dGggd2VlayAoMjU5dGggZGF5KSAKLy8gZm9sbG93aW5nIG9uc2V0IG9mIHRoZSBsYXN0IG1lbnN0cnVhbCBwZXJpb2QKZGVmaW5lICZxdW90O1ByZXRlcm0mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltPYnNlcnZhdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtbI10gQmlydGhzLnByZXRlcm0mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTUiIGxvY2F0b3I9Ijk1OjMtOTY6MTgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTEiIGxvY2F0b3I9Ijk1OjMtOTU6NDYiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTAiIGxvY2F0b3I9Ijk1OjMtOTU6NDQiIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9Ij0iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTU6MjQtOTU6NDMiIG5hbWU9IlsjXSBCaXJ0aHMucHJldGVybSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI5NCIgbG9jYXRvcj0iOTY6NS05NjoxOCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI5NjoxMi05NjoxOCIgcGF0aD0idmFsdWUiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSI5OToxLTEwMTo2MCIgbmFtZT0iUHJldGVybSBCaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNyI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9PYnNlcnZlZCBQcmV0ZXJtIGJpcnRoCmRlZmluZSAmcXVvdDtQcmV0ZXJtIEJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W09ic2VydmF0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJldGVybUJpcnRoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA2IiBsb2NhdG9yPSIxMDA6My0xMDE6NjAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjEwMDozLTEwMDoxNyIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5NyIgbG9jYXRvcj0iMTAwOjMtMTAwOjE1IiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMDUiIGxvY2F0b3I9IjEwMTo1LTEwMTo2MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSIxMDE6MTEtMTAxOjM4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDAiIGxvY2F0b3I9IjEwMToxMi0xMDE6MTgiIHBhdGg9InZhbHVlIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTAxIiBsb2NhdG9yPSIxMDE6MjMtMTAxOjM3IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iMTAxOjQzLTEwMTo2MCIgbmFtZT0iUHJldGVybUJpcnRoIiBsaWJyYXJ5TmFtZT0iSU1NWmMiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjgiIGxvY2F0b3I9IjEwNDoxLTEwNzoxMiIgbmFtZT0iQWR2ZXJzZSBFdmVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9AZGF0YUVsZW1lbnQgQWR2ZXJzZSBFdmVudDoKZGVmaW5lICZxdW90O0FkdmVyc2UgRXZlbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5mcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltJbW11bml6YXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltPYnNlcnZhdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkkucmVhY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBSPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3BsaXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kZXRhaWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicvJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI3IiBsb2NhdG9yPSIxMDU6My0xMDc6MTIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSIxMDU6OC0xMDU6MjMiIGFsaWFzPSJJIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA4IiBsb2NhdG9yPSIxMDU6OC0xMDU6MjEiIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iMTA1OjI2LTEwNTo0MCIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTAiIGxvY2F0b3I9IjEwNToyNi0xMDU6MzgiIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjEyNCIgbG9jYXRvcj0iMTA2OjUtMTA2Ojc2IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTMiIGxvY2F0b3I9IjEwNjoxMS0xMDY6MTQiIHBhdGg9ImlkIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSIxMDY6MTktMTA2Ojc2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNSIgbG9jYXRvcj0iMTA2OjIwLTEwNjozMSIgYWxpYXM9IlIiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjEwNjoyMC0xMDY6MjkiIHBhdGg9InJlYWN0aW9uIiBzY29wZT0iSSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjEyMiIgbG9jYXRvcj0iMTA2OjMzLTEwNjo3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iMTA2OjQwLTEwNjo3NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iMTA2OjQ1LTEwNjo3NCIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE4IiBsb2NhdG9yPSIxMDY6NTEtMTA2OjY4IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSIxMDY6NTEtMTA2OjU4IiBwYXRoPSJkZXRhaWwiIHNjb3BlPSJSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSIxMDY6NzEtMTA2OjczIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxMjYiIGxvY2F0b3I9IjEwNzo1LTEwNzoxMiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iMTA3OjEyIiBuYW1lPSJPIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQzIiBsb2NhdG9yPSIxMTI6MS0xMTc6NDYiIG5hbWU9IkFsbGVyZ3kgPSBUcnVlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgPGE6cz4vKiAKICogQGRhdGFFbGVtZW50IEFsbGVyZ3kgPSBUcnVlCiAqLwpkZWZpbmUgJnF1b3Q7QWxsZXJneSA9IFRydWUmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltBbGxlcmd5SW50b2xlcmFuY2VdPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIAoJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNsaW5pY2FsU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7YWxsZXJneS1hY3RpdmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWFuZAoJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52ZXJpZmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDthbGxlcmd5LWNvbmZpcm1lZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjExMzoyLTExNzo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzAiIGxvY2F0b3I9IjExMzoyLTExMzoyMyIgYWxpYXM9IkEiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjkiIGxvY2F0b3I9IjExMzoyLTExMzoyMSIgZGF0YVR5cGU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQWxsZXJneUludG9sZXJhbmNlIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNDEiIGxvY2F0b3I9IjExNDoyLTExNzo0NiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iMTE1OjItMTE1OjM5IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjExNToyLTExNToxNyIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSIxMTU6MjEtMTE1OjM5IiBuYW1lPSJhbGxlcmd5LWFjdGl2ZSIgbGlicmFyeU5hbWU9IkZDIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQwIiBsb2NhdG9yPSIxMTc6Mi0xMTc6NDYiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNyIgbG9jYXRvcj0iMTE3OjItMTE3OjIxIiBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM5IiBsb2NhdG9yPSIxMTc6MjUtMTE3OjQ2IiBuYW1lPSJhbGxlcmd5LWNvbmZpcm1lZCIgbGlicmFyeU5hbWU9IkZDIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjEyMjoxLTEyODozOSIgbmFtZT0iSW1tdW5vY29tcHJvbWlzZWQgPSBUcnVlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTY1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiAKICogQGRhdGFFbGVtZW50IEltbXVub2NvbXByb21pc2VkID0gVHJ1ZQogKi8KZGVmaW5lICZxdW90O0ltbXVub2NvbXByb21pc2VkID0gVHJ1ZSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bQ29uZGl0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbW11bm9jb21wcm9taXNlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJYW5kCiAgCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2xpbmljYWxTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWN0aXZlIENvbmRpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWFuZAoJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52ZXJpZmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtjb25maXJtZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMjM6Mi0xMjg6MzkiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjMiIGxvY2F0b3I9IjEyMzo4LTEyODozOSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDUiIGxvY2F0b3I9IjEyMzo5LTEyMzoyMSIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjEyMzo5LTEyMzoxOSIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNjIiIGxvY2F0b3I9IjEyNDoyLTEyODozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NiIgbG9jYXRvcj0iMTI0OjgtMTI2OjQ0IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSIxMjQ6OC0xMjQ6NDIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iMTI0OjgtMTI0OjEzIiBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iMTI0OjE4LTEyNDo0MiIgbmFtZT0iSW1tdW5vY29tcHJvbWlzZWQiIGxpYnJhcnlOYW1lPSJJTU1aYyIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NSIgbG9jYXRvcj0iMTI2OjQtMTI2OjQ0IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTIiIGxvY2F0b3I9IjEyNjo0LTEyNjoxOSIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMjY6MjQtMTI2OjQ0IiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBsaWJyYXJ5TmFtZT0iRkMiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iMTI4OjItMTI4OjM4IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTgiIGxvY2F0b3I9IjEyODoyLTEyODoyMSIgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTI4OjI1LTEyODozOCIgbmFtZT0iY29uZmlybWVkIiBsaWJyYXJ5TmFtZT0iRkMiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSIxMzM6MS0xMzY6NTYiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTc5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRhdGFFbGVtZW50IEFsbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0byBwYXRpZW50IG9yZGVyZWQgbmV3ZXN0IHRvIG9sZGVzdAogKi8KZGVmaW5lICZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0ltbXVuaXphdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbXBsZXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBkZXNjPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3OCIgbG9jYXRvcj0iMTM0OjMtMTM2OjU2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2NyIgbG9jYXRvcj0iMTM0OjMtMTM0OjE4IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iMTM0OjMtMTM0OjE2IiBkYXRhVHlwZT0iZmhpcjpJbW11bml6YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9JbW11bml6YXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iMTM1OjUtMTM1OjMyIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjEzNToxMS0xMzU6MTgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iMTM1OjIyLTEzNTozMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHNvcnQgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMzY6NS0xMzY6NTYiPgogICAgICAgICAgICAgICA8YnkgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSIxMzY6MTMtMTM2OjU2IiBkaXJlY3Rpb249ImRlc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjEzNjoxMy0xMzY6NTEiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSIxMzY6MjMtMTM2OjUxIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzIiIGxvY2F0b3I9IjEzNjoyNC0xMzY6MzMiIG5hbWU9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSIxMzY6MzgtMTM2OjUwIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvYnk+CiAgICAgICAgICAgIDwvc29ydD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODEiIGxvY2F0b3I9IjE0MDoxLTE0MTo0OCIgbmFtZT0iU2V2ZXJlbHkgSW1tdW5vc3VwcHJlc3NlZCBDb25kaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICA8YTpzPi8qKgogKiBDb250cmFpbmRpY2F0aW9ucyAKICovCmRlZmluZSAmcXVvdDtTZXZlcmVseSBJbW11bm9zdXBwcmVzc2VkIENvbmRpdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICA8YTpzPltDb25kaXRpb246IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpjLiZxdW90O1NldmVyZWx5IGltbXVub3N1cHByZXNzZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxNDE6My0xNDE6NDgiIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0ifiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDE6MTUtMTQxOjQ3IiBuYW1lPSJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIiBsaWJyYXJ5TmFtZT0iSU1NWmMiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgzIiBsb2NhdG9yPSIxNDM6MS0xNDQ6NTYiIG5hbWU9Ikhpc3Rvcnkgb2YgQW5hcGh5bGFjdGljIFJlYWN0aW9ucyBDb25kaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtIaXN0b3J5IG9mIEFuYXBoeWxhY3RpYyBSZWFjdGlvbnMgQ29uZGl0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+W0NvbmRpdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmMuJnF1b3Q7SGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4MiIgbG9jYXRvcj0iMTQ0OjMtMTQ0OjU2IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9In4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ0OjE1LTE0NDo1NSIgbmFtZT0iSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zIiBsaWJyYXJ5TmFtZT0iSU1NWmMiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxNDY6MS0xNDc6NDgiIG5hbWU9IlNldmVyZSBBbGxlcmdpYyBSZWFjdGlvbnMgQ29uZGl0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U2V2ZXJlIEFsbGVyZ2ljIFJlYWN0aW9ucyBDb25kaXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5bQ29uZGl0aW9uOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYy4mcXVvdDtTZXZlcmUgYWxsZXJnaWMgcmVhY3Rpb25zJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iMTQ3OjMtMTQ3OjQ4IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9In4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ3OjE1LTE0Nzo0NyIgbmFtZT0iU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyIgbGlicmFyeU5hbWU9IklNTVpjIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4NyIgbG9jYXRvcj0iMTQ5OjEtMTUwOjQ4IiBuYW1lPSJTeW1wdG9tYXRpYyBISVYgSW5mZWN0aW9uIENvbmRpdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1N5bXB0b21hdGljIEhJViBJbmZlY3Rpb24gQ29uZGl0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+W0NvbmRpdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmMuJnF1b3Q7U3ltcHRvbWF0aWMgSElWIGluZmVjdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODYiIGxvY2F0b3I9IjE1MDozLTE1MDo0OCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJ+IiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1MDoxNS0xNTA6NDciIG5hbWU9IlN5bXB0b21hdGljIEhJViBpbmZlY3Rpb24iIGxpYnJhcnlOYW1lPSJJTU1aYyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOTYiIGxvY2F0b3I9IjE1ODoxLTE2MDozMyIgbmFtZT0iUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICA8YTpzPi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogVGVzdCBSZXN1bHRzCiAqLwpkZWZpbmUgJnF1b3Q7UGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUmcXVvdDs6CjwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W09ic2VydmF0aW9uOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYy4mcXVvdDtQYXRpZW50IGJpcnRoIHdlaWdodCBvYnNlcnZhdGlvbiB2YWx1ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxNTk6MS0xNjA6MzMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxNTk6MS0xNTk6NzEiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg4IiBsb2NhdG9yPSIxNTk6MS0xNTk6NjkiIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTU5OjIzLTE1OTo2OCIgbmFtZT0iUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiIGxpYnJhcnlOYW1lPSJJTU1aYyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iMTk0IiBsb2NhdG9yPSIxNjA6My0xNjA6MzMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjE2MDoxMC0xNjA6MzMiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MSIgbG9jYXRvcj0iMTYwOjEwLTE2MDoxNiIgcGF0aD0idmFsdWUiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxOTIiIGxvY2F0b3I9IjE2MDoyMS0xNjA6MzMiIG5hbWU9ImZoaXI6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjE2NToxLTE2NjoyMyIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqIAogKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBhZ2UgaW4geWVhcnMKICovCmRlZmluZSAmcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjE2NjozLTE2NjoyMyIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTciIGxvY2F0b3I9IjE2NjoxNi0xNjY6MjIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTcyOjEtMTczOjIzIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgPGE6cz4vL1RvZGF5KCkgLSAoUGF0aWVudC5iaXJ0aERhdGUgYXMgU3lzdGVtLkRhdGUpCgovKiogCiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGFnZSBpbiB3ZWVrcwogKi8KZGVmaW5lICZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbldlZWtzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheSgpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iMTczOjMtMTczOjIzIiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iMTczOjE2LTE3MzoyMiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA1IiBsb2NhdG9yPSIxNzg6MS0xNzk6MjQiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGFnZSBpbiBtb250aHMKICovCmRlZmluZSAmcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheSgpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwNCIgbG9jYXRvcj0iMTc5OjMtMTc5OjI0IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDMiIGxvY2F0b3I9IjE3OToxNy0xNzk6MjMiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iMTg2OjEtMTg3OjE2IiBuYW1lPSJQYXRpZW50IEJpb2xvZ2ljYWwgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGJpb2xvZ2ljYWwgc2V4IHVzZWQgZm9yIGRlY2lkaW5nIHZhY2NpbmUgZWxpZ2liaWxpdHkKICogVE9ETzogJnF1b3Q7R2VuZGVyJnF1b3Q7IG9mIHBhdGllbnQgaW4gRkhJUiBpcyB0aGUgYWRtaW5pc3RyYXRpdmUgZ2VuZGVyIC0gb3IgY2FuIHdlIGV4cGVjdCB0aGF0IHRoaXMgd2lsbCBiZSBiaW9sb2dpY2FsIHNleCBhbmQgYWRtaW5pc3RyYXRpdmUKICogICAgICAgIGdlbmRlciBpZGVudGl0eSB3aWxsIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBnZW5kZXIgaWRlbnRpdHkgZXh0ZW5zaW9uPwogKi8KZGVmaW5lICZxdW90O1BhdGllbnQgQmlvbG9naWNhbCBTZXgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Z2VuZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjA3IiBsb2NhdG9yPSIxODc6My0xODc6MTYiIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjE4NzozLTE4Nzo5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMjc3OjEtMjg3OjQiIG5hbWU9IkV4dHJhY3RNZWRpY2F0aW9uQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRlc2NyaXB0aW9uIFRha2VzIGEgY2hvaWNlIGJldHdlZW4gYSBNZWRpY2F0aW9uIGFuZCBhIENvZGVhYmxlQ29uY2VwdCBhbmQgcmV0dXJucyBqdXN0IHRoZSBjb2RlIG9mIHRoZSBtZWRpY2F0aW9uCiAqLwpkZWZpbmUgZnVuY3Rpb24gRXh0cmFjdE1lZGljYXRpb25Db2RlKGNob2ljZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICA8YTpzPkNob2ljZSZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTWVkaWNhdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBNPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TcGxpdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicvJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCWVsc2UKICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZXNzYWdlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij5udWxsIGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+LCB0cnVlLCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicxJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Vycm9yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Nhbm5vdCBjb21wdXRlIGEgbWVkaWNhdGlvbiBjb2RlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiAvLyBUT0RPOiBJJ20gc3VyZSB0aGF0IHRoaXMgaXMgc3VwcG9ydGVkIHNvbWVob3c/CgllbmQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjI3ODozLTI4Nzo0IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjI3OTo0LTI4MDozNSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMjc5OjktMjc5OjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjI3OTo5LTI3OToxNCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNyIgbG9jYXRvcj0iMjc5OjE5LTI3OTozOCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyMjEiIGxvY2F0b3I9IjI4MDo2LTI4MDozNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIyODA6Ni0yODA6MTEiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjI4MDoxNi0yODA6MzUiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjI0MyIgbG9jYXRvcj0iMjgxOjUtMjg0OjQ2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIyODE6MTAtMjgxOjMzIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjI4MToxMC0yODE6MTUiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjI4MToyMC0yODE6MzMiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIyODI6Ny0yODQ6NDYiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIyODI6MTMtMjg0OjQ1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMjgyOjEzLTI4MjoyNiIgYWxpYXM9Ik0iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjI4MjoxMy0yODI6MjQiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjI4Mzo5LTI4Mzo1NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSIyODM6MTUtMjgzOjE4IiBwYXRoPSJpZCIgc2NvcGU9Ik0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMjgzOjIyLTI4Mzo1NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMjgzOjI3LTI4Mzo1NCIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIyODM6MzMtMjgzOjQ4IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIyODM6MzMtMjgzOjM4IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMjgzOjUxLTI4Mzo1MyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIyODQ6OS0yODQ6NDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjI4NDoxNi0yODQ6NDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iMjg0OjE2LTI4NDoyMSIgcGF0aD0iY29kZSIgc2NvcGU9Ik0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMjg0OjI2LTI4NDo0NSIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIyODY6Ny0yODY6OTkiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNDYiIGxvY2F0b3I9IjI4NjoxNS0yODY6NDIiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMjg2OjE1LTI4NjoxOCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjI4NjoyMy0yODY6NDIiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMjg2OjQ1LTI4Njo0OCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjI4Njo1MS0yODY6NTMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIyODY6NTYtMjg2OjYyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMjg2OjY1LTI4Njo5OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNhbm5vdCBjb21wdXRlIGEgbWVkaWNhdGlvbiBjb2RlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMjc3OjQ2LTI3Nzo4OSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMjc3OjUzLTI3Nzo3MiIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjI3Nzo3NS0yNzc6ODgiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIyOTM6MS0zMDE6NCIgbmFtZT0iRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRlc2NyaXB0aW9uIFRha2VzIGEgY2hvaWNlIGJldHdlZW4gYSBNZWRpY2F0aW9uIGFuZCBhIENvZGVhYmxlQ29uY2VwdCBhbmQgcmV0dXJucyBqdXN0IHRoZSBjb2RlIG9mIHRoZSBtZWRpY2F0aW9uCiAqLwpkZWZpbmUgZnVuY3Rpb24gRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZShjaG9pY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DaG9pY2UmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQllbHNlCiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWVzc2FnZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+bnVsbCBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+LCB0cnVlLCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicxJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Vycm9yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0Nhbm5vdCBjb21wdXRlIG1lZGljYXRpb24gdHJlYXRtZW50IGluaXRpYXRpb24gZGF0ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gLy8gVE9ETzogSSdtIHN1cmUgdGhhdCB0aGlzIGlzIHN1cHBvcnRlZCBzb21laG93PwoJZW5kPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIyOTQ6My0zMDE6NCIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSIyOTU6NC0yOTY6MzciPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjI5NTo5LTI5NToyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSIyOTU6OS0yOTU6MTQiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNzEiIGxvY2F0b3I9IjI5NToxOS0yOTU6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIyOTY6Ni0yOTY6MzciIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSIyOTY6MTUtMjk2OjM3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzMiIGxvY2F0b3I9IjI5NjoxNi0yOTY6MjEiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNzQiIGxvY2F0b3I9IjI5NjoyNi0yOTY6MzYiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyODQiIGxvY2F0b3I9IjI5Nzo1LTI5ODoyOSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI4MCIgbG9jYXRvcj0iMjk3OjEwLTI5NzozMiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIyOTc6MTAtMjk3OjE1IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIyOTc6MjAtMjk3OjMyIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjI5ODo3LTI5ODoyOSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIyOTg6Ny0yOTg6MTIiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjI5ODoxNy0yOTg6MjkiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIzMDA6Ny0zMDA6MTExIiB4c2k6dHlwZT0iTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSIzMDA6MTUtMzAwOjM1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjMwMDoxNS0zMDA6MTgiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSIzMDA6MjMtMzAwOjM1IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjI4OCIgbG9jYXRvcj0iMzAwOjM4LTMwMDo0MSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjMwMDo0NC0zMDA6NDYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSIzMDA6NDktMzAwOjU1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iMzAwOjU4LTMwMDoxMTAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDYW5ub3QgY29tcHV0ZSBtZWRpY2F0aW9uIHRyZWF0bWVudCBpbml0aWF0aW9uIGRhdGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNob2ljZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjkiIGxvY2F0b3I9IjI5Mzo1Ni0yOTM6ODkiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjI5Mzo2My0yOTM6NzUiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjI5Mzo3OC0yOTM6ODgiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxODk6MS0xOTU6NTgiIG5hbWU9IlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0IERhdGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMDYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydCBEYXRlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGFzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSAKICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FeHRyYWN0TWVkaWNhdGlvbkNvZGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpjPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FSViBEcnVncyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2FjdGl2ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FeHRyYWN0TWVkaWNhdGlvbkluaXRpYXRpb25EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVmZmVjdGl2ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sZXNzIHRoYW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4xMiAnbW9udGgnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBiZWZvcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FeHRyYWN0TWVkaWNhdGlvbkluaXRpYXRpb25EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVmZmVjdGl2ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTkwOjMtMTk1OjU4IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSIxOTA6OC0xOTU6NTciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxOTA6OC0xOTA6MzUiIGFsaWFzPSJBIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjA5IiBsb2NhdG9yPSIxOTA6OC0xOTA6MzMiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSIxOTE6NS0xOTQ6OTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjE5Mjo3LTE5Mzo0NiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NyIgbG9jYXRvcj0iMTkyOjctMTkyOjYyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTQiIGxvY2F0b3I9IjE5Mjo3LTE5Mjo0MSIgbmFtZT0iRXh0cmFjdE1lZGljYXRpb25Db2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjE5MjoyOS0xOTI6NDAiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjE5Mjo0Ni0xOTI6NjIiIG5hbWU9IkFSViBEcnVncyIgbGlicmFyeU5hbWU9IklNTVpjIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYzIiBsb2NhdG9yPSIxOTM6MTEtMTkzOjQ2IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjE5MzoxMS0xOTM6MTgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTkzOjIzLTE5Mzo0NiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjE5MzoyNS0xOTM6MzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTkzOjM1LTE5Mzo0NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjE5NDoxMS0xOTQ6OTAiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTk0OjExLTE5NDo1NCIgbmFtZT0iRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxOTQ6NDMtMTk0OjUzIiBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE5NDo1Ni0xOTQ6NzUiIGxvd0Nsb3NlZD0iZmFsc2UiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjE5NDo4NC0xOTQ6OTAiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTk0OjY2LTE5NDo3NSIgdmFsdWU9IjEyIiB1bml0PSJtb250aCIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE5NDo4NC0xOTQ6OTAiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvd0Nsb3NlZEV4cHJlc3Npb24gcGF0aD0ibG93Q2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE5NDo1Ni0xOTQ6NzUiIGxvd0Nsb3NlZD0iZmFsc2UiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjE5NDo4NC0xOTQ6OTAiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTk0OjY2LTE5NDo3NSIgdmFsdWU9IjEyIiB1bml0PSJtb250aCIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE5NDo4NC0xOTQ6OTAiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTk0OjU2LTE5NDo3NSIgbG93Q2xvc2VkPSJmYWxzZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIxOTQ6ODQtMTk0OjkwIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxOTQ6NjYtMTk0Ojc1IiB2YWx1ZT0iMTIiIHVuaXQ9Im1vbnRoIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTk0OjU2LTE5NDo3NSIgbG93Q2xvc2VkPSJmYWxzZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIxOTQ6ODQtMTk0OjkwIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxOTQ6NjYtMTk0Ojc1IiB2YWx1ZT0iMTIiIHVuaXQ9Im1vbnRoIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTk0Ojg0LTE5NDo5MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjE5NTo3LTE5NTo1NyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTk1OjE0LTE5NTo1NyIgbmFtZT0iRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSIxOTU6NDYtMTk1OjU2IiBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxOTc6MS0xOTg6ODUiIG5hbWU9IlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0ZWQgNiB0byAxMiBNb250aHMgQWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7UGF0aWVudCBIQUFSVCBUcmVhdG1lbnQgU3RhcnRlZCA2IHRvIDEyIE1vbnRocyBBZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0IERhdGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vdygpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiAtIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MTIgbW9udGhzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob3coKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gLSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjYgbW9udGhzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTk4OjMtMTk4Ojg1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxOTg6My0xOTg6MzgiIG5hbWU9IlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0IERhdGUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTk4OjQ4LTE5ODo2NCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxOTg6NDgtMTk4OjUyIiB4c2k6dHlwZT0iTm93Ii8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTk4OjU2LTE5ODo2NCIgdmFsdWU9IjEyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxOTg6My0xOTg6MzgiIG5hbWU9IlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0IERhdGUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTk4OjcwLTE5ODo4NSIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxOTg6NzAtMTk4Ojc0IiB4c2k6dHlwZT0iTm93Ii8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTk4Ojc4LTE5ODo4NSIgdmFsdWU9IjYiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzMSIgbG9jYXRvcj0iMjAzOjEtMjA2OjEyOSIgbmFtZT0iUGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMzEiPgogICAgICAgICAgICAgICA8YTpzPi8qKgogKiBAZGF0YUVsZW1lbnQgVGhlIHBhdGllbnQgaGFzIGEgbWVkaWNhdGlvbiByZWNvcmQgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhleSBhcmUgcmVjZWl2aW5nIEFSVgogKi8KZGVmaW5lICZxdW90O1BhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUJnF1b3Q7OgogLy9leGlzdHMoW01lZGljYXRpb25TdGF0ZW1lbnRdIFMgd2hlcmUgRXh0cmFjdE1lZGljYXRpb25Db2RlKFMubWVkaWNhdGlvbikgaW4gSU1NWmMuJnF1b3Q7QVJWIERydWdzJnF1b3Q7IGFuZCBTLnN0YXR1cyA9ICdhY3RpdmUnKQogLy9vciAKIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkV4dHJhY3RNZWRpY2F0aW9uQ29kZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QVJWIERydWdzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naW4tcHJvZ3Jlc3MnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzMwIiBsb2NhdG9yPSIyMDY6Mi0yMDY6MTI5IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI5IiBsb2NhdG9yPSIyMDY6OC0yMDY6MTI5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iMjA2OjktMjA2OjM2IiBhbGlhcz0iQSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iMjA2OjktMjA2OjM0IiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjMyOCIgbG9jYXRvcj0iMjA2OjM4LTIwNjoxMjgiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjMiIGxvY2F0b3I9IjIwNjo0NC0yMDY6OTkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMCIgbG9jYXRvcj0iMjA2OjQ0LTIwNjo3OCIgbmFtZT0iRXh0cmFjdE1lZGljYXRpb25Db2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjIwNjo2Ni0yMDY6NzciIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIzMjIiIGxvY2F0b3I9IjIwNjo4My0yMDY6OTkiIG5hbWU9IkFSViBEcnVncyIgbGlicmFyeU5hbWU9IklNTVpjIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI3IiBsb2NhdG9yPSIyMDY6MTA1LTIwNjoxMjgiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNSIgbG9jYXRvcj0iMjA2OjEwNS0yMDY6MTEyIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjIwNjoxMTYtMjA2OjEyOCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluLXByb2dyZXNzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjIxMzoxLTIxNzo0MiIgbmFtZT0iSElWIFN0YXR1cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM1NiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly91bmlvbiAKIC8vCgovKgogIEBkYXRhRWxlbWVudCBISVYgU3RhdHVzIG9ic2VydmF0aW9ucyBvZiB0aGUgcGF0aWVudCBtb3N0IHJlY2VudCBmaXJzdAoqLwpkZWZpbmUgJnF1b3Q7SElWIFN0YXR1cyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltPYnNlcnZhdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmMuJnF1b3Q7SElWIHN0YXR1cyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZmluYWwnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nYW1lbmRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb3JyZWN0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2FsZXNjZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5XQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1vZGlmaWVyRXh0ZW5zaW9uKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3doby1ub3REb25lJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4sIGZhbHNlKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgZmFsc2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNTUiIGxvY2F0b3I9IjIxNDozLTIxNzo0MiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjIxNDozLTIxNDozNyIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzIiIGxvY2F0b3I9IjIxNDozLTIxNDozNSIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyMTQ6MTctMjE0OjM0IiBuYW1lPSJISVYgc3RhdHVzIiBsaWJyYXJ5TmFtZT0iSU1NWmMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzQ5IiBsb2NhdG9yPSIyMTU6NS0yMTY6ODIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDAiIGxvY2F0b3I9IjIxNToxMS0yMTU6NTciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNSIgbG9jYXRvcj0iMjE1OjExLTIxNToxOCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM5IiBsb2NhdG9yPSIyMTU6MjMtMjE1OjU3IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjMzNiIgbG9jYXRvcj0iMjE1OjI1LTIxNTozMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIzMzciIGxvY2F0b3I9IjIxNTozNC0yMTU6NDIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjIxNTo0NS0yMTU6NTUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb3JyZWN0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDgiIGxvY2F0b3I9IjIxNjoxMS0yMTY6ODIiIHhzaTp0eXBlPSJJc0ZhbHNlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ3IiBsb2NhdG9yPSIyMTY6MTEtMjE2OjczIiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0NSIgbG9jYXRvcj0iMjE2OjIwLTIxNjo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzQ0IiBsb2NhdG9yPSIyMTY6MjAtMjE2OjU5IiBuYW1lPSJNb2RpZmllckV4dGVuc2lvbiIgbGlicmFyeU5hbWU9IldDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MiIgbG9jYXRvcj0iMjE2OjQzIiBuYW1lPSJPIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQzIiBsb2NhdG9yPSIyMTY6NDYtMjE2OjU4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0id2hvLW5vdERvbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDYiIGxvY2F0b3I9IjIxNjo2OC0yMTY6NzIiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjM1NCIgbG9jYXRvcj0iMjE3OjUtMjE3OjQyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIyMTc6MTItMjE3OjQyIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTEiIGxvY2F0b3I9IjIxNzoxMi0yMTc6MTgiIHBhdGg9InZhbHVlIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIyMTc6MjMtMjE3OjQyIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMjIyOjEtMjIzOjgyIiBuYW1lPSJMaXZlIEF0dGVudWF0ZWQgVmFjY2luZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAgQGRhdGFFbGVtZW50IERhdGUgYW5kIHRpbWUgb2YgbGFzdCBsaXZlIGF0dGVudWF0ZWQgdmFjY2luZQoqLwpkZWZpbmUgJnF1b3Q7TGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmVzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWNjaW5lQ29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMaXZlIEF0dGVudWF0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNjQiIGxvY2F0b3I9IjIyMzozLTIyMzo4MiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTgiIGxvY2F0b3I9IjIyMzozLTIyMzozNSIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNTciIGxvY2F0b3I9IjIyMzozLTIyMzozMyIgbmFtZT0iRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIyMjM6MzctMjIzOjgyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjAiIGxvY2F0b3I9IjIyMzo0My0yMjM6NTUiIHBhdGg9InZhY2NpbmVDb2RlIiBzY29wZT0iSSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjM2MiIgbG9jYXRvcj0iMjIzOjYwLTIyMzo4MiIgbmFtZT0iTGl2ZSBBdHRlbnVhdGVkIiBsaWJyYXJ5TmFtZT0iSU1NWmMiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjIyNToxLTIyNjo1OCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xpdmUgQXR0ZW51YXRlZCBWYWNjaW5lcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzcwIiBsb2NhdG9yPSIyMjY6My0yMjY6NTgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMjI2OjMtMjI2OjQ2IiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2NyIgbG9jYXRvcj0iMjI2OjMtMjI2OjM1IiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2NiIgbG9jYXRvcj0iMjI2OjktMjI2OjM0IiBuYW1lPSJMaXZlIEF0dGVudWF0ZWQgVmFjY2luZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY5IiBsb2NhdG9yPSIyMjY6NTEtMjI2OjU4IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzc2IiBsb2NhdG9yPSIyMzY6MS0yMzc6MjYiIG5hbWU9Ik9ubHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDUUwgSGVscGVyIEZ1bmN0aW9ucwogKi8KCi8qKgogKiBAZGVzY3JpcHRpb24gRmV0Y2hlcyBhIHNpbmdsZXRvbiBwcm90b2NvbCBhcHBsaWVkIGZyb20gYW4gaW1tdW5pemF0aW9uCiAqIEBjb21tZW50IFRoZSBwcm90b2NvbCBsaXN0IGZyb20gdGhlIGltbXVuaXphdGlvbgogKi8KZGVmaW5lIGZ1bmN0aW9uIE9ubHkocHJvdG9jb2xzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuSW1tdW5pemF0aW9uLlByb3RvY29sQXBwbGllZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cHJvdG9jb2xzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMjM3OjMtMjM3OjI2IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3NCIgbG9jYXRvcj0iMjM3OjE4LTIzNzoyNiIgbmFtZT0icHJvdG9jb2xzIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InByb3RvY29scyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNzMiIGxvY2F0b3I9IjIzNjozMi0yMzY6NzAiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIzNzIiIGxvY2F0b3I9IjIzNjozNy0yMzY6NjkiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uLlByb3RvY29sQXBwbGllZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM5NiIgbG9jYXRvcj0iMjQyOjEtMjQ4OjQiIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzk2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRlc2NyaXB0aW9uIFRha2VzIHRoZSBkYXRlIGNob2ljZSBvZiBhIGRhdGUvc3RyaW5nIGNob2ljZSAoZm9yIEltbXVuaXphdGlvbiBkYXRlKQogKi8KZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZShjaG9pY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DaG9pY2UmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuc3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZQoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQllbHNlCiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWVzc2FnZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NyI+bnVsbCBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4sIHRydWUsIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRXJyb3InPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nQ2Fubm90IGNvbXB1dGUgYSBkYXRlIGZyb20gYSBTdHJpbmcgdmFsdWUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbmQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOTUiIGxvY2F0b3I9IjI0MzozLTI0ODo0IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzODYiIGxvY2F0b3I9IjI0NDo0LTI0NToyNCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjM4MiIgbG9jYXRvcj0iMjQ0OjktMjQ0OjI3IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODAiIGxvY2F0b3I9IjI0NDo5LTI0NDoxNCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4MSIgbG9jYXRvcj0iMjQ0OjE5LTI0NDoyNyIgbmFtZT0iZmhpcjpkYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzg1IiBsb2NhdG9yPSIyNDU6Ni0yNDU6MjQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MyIgbG9jYXRvcj0iMjQ1OjYtMjQ1OjExIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzg0IiBsb2NhdG9yPSIyNDU6MTYtMjQ1OjI0IiBuYW1lPSJmaGlyOmRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzOTQiIGxvY2F0b3I9IjI0Nzo3LTI0Nzo5NyIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM4OSIgbG9jYXRvcj0iMjQ3OjE1LTI0NzozMSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzg3IiBsb2NhdG9yPSIyNDc6MTUtMjQ3OjE4IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4OCIgbG9jYXRvcj0iMjQ3OjIzLTI0NzozMSIgbmFtZT0iZmhpcjpkYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjM5MCIgbG9jYXRvcj0iMjQ3OjM0LTI0NzozNyIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSIzOTEiIGxvY2F0b3I9IjI0Nzo0MC0yNDc6NDIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iMzkyIiBsb2NhdG9yPSIyNDc6NDUtMjQ3OjUxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2FsSWQ9IjM5MyIgbG9jYXRvcj0iMjQ3OjU0LTI0Nzo5NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNhbm5vdCBjb21wdXRlIGEgZGF0ZSBmcm9tIGEgU3RyaW5nIHZhbHVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM3OSIgbG9jYXRvcj0iMjQyOjMxLTI0Mjo2MCIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM3NyIgbG9jYXRvcj0iMjQyOjM4LTI0Mjo0NiIgbmFtZT0iZmhpcjpkYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzc4IiBsb2NhdG9yPSIyNDI6NDktMjQyOjU5IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxNiIgbG9jYXRvcj0iMjUzOjEtMjU5OjQiIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQxNiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIEBkZXNjcmlwdGlvbiBUYWtlcyB0aGUgZGF0ZSBjaG9pY2Ugb2YgYSBkYXRlL3N0cmluZyBjaG9pY2UgKGZvciBJbW11bml6YXRpb24gZGF0ZSkKICovCmRlZmluZSBmdW5jdGlvbiBUb0RhdGVUaW1lKGNob2ljZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTkiPgogICAgICAgICAgICAgICAgICA8YTpzPkNob2ljZSZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuc3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZQoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgogICAgCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCWVsc2UKICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZXNzYWdlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA3Ij5udWxsIGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEwIj4sIHRydWUsIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRXJyb3InPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nQ2Fubm90IGNvbXB1dGUgYSBkYXRlIGZyb20gYSBTdHJpbmcgdmFsdWUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbmQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MTUiIGxvY2F0b3I9IjI1NDozLTI1OTo0IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSI0MDYiIGxvY2F0b3I9IjI1NTo0LTI1NjoyOCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjQwMiIgbG9jYXRvcj0iMjU1OjktMjU1OjMxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjI1NTo5LTI1NToxNCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQwMSIgbG9jYXRvcj0iMjU1OjE5LTI1NTozMSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjQwNSIgbG9jYXRvcj0iMjU2OjYtMjU2OjI4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjI1Njo2LTI1NjoxMSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQwNCIgbG9jYXRvcj0iMjU2OjE2LTI1NjoyOCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjQxNCIgbG9jYXRvcj0iMjU4OjctMjU4OjEwMSIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQwOSIgbG9jYXRvcj0iMjU4OjE1LTI1ODozNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA3IiBsb2NhdG9yPSIyNTg6MTUtMjU4OjE4IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQwOCIgbG9jYXRvcj0iMjU4OjIzLTI1ODozNSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSI0MTAiIGxvY2F0b3I9IjI1ODozOC0yNTg6NDEiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iNDExIiBsb2NhdG9yPSIyNTg6NDQtMjU4OjQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNldmVyaXR5IGxvY2FsSWQ9IjQxMiIgbG9jYXRvcj0iMjU4OjQ5LTI1ODo1NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhbElkPSI0MTMiIGxvY2F0b3I9IjI1ODo1OC0yNTg6MTAwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ2Fubm90IGNvbXB1dGUgYSBkYXRlIGZyb20gYSBTdHJpbmcgdmFsdWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzk5IiBsb2NhdG9yPSIyNTM6MzUtMjUzOjY4IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzk3IiBsb2NhdG9yPSIyNTM6NDItMjUzOjU0IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzk4IiBsb2NhdG9yPSIyNTM6NTctMjUzOjY3IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzNiIgbG9jYXRvcj0iMjY1OjEtMjcxOjQiIG5hbWU9IlRvUG9zaXRpdmVJbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQzNiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIEBkZXNjcmlwdGlvbiBUYWtlcyBhIGNob2ljZSBvZiBGSElSLnN0cmluZyBhbmQgRkhJUi5wb3NpdGl2ZUludCBhbmQgZW5zdXJlcyB0aGUgcmVzdWx0IGlzIGEgRkhJUi5wb3NpdGl2ZUludAogKi8KZGVmaW5lIGZ1bmN0aW9uIFRvUG9zaXRpdmVJbnQoY2hvaWNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2hvaWNlJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5wb3NpdGl2ZUludDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5zdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIucG9zaXRpdmVJbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnBvc2l0aXZlSW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJZWxzZQogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1lc3NhZ2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjciPm51bGwgYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnBvc2l0aXZlSW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzAiPiwgdHJ1ZSwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nMSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidFcnJvcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidDYW5ub3QgY29tcHV0ZSBhIHBvc2l0aXZlIGZyb20gYSBTdHJpbmcgdmFsdWUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IC8vIFRPRE86IEknbSBzdXJlIHRoYXQgdGhpcyBpcyBzdXBwb3J0ZWQgc29tZWhvdz8KCWVuZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzNSIgbG9jYXRvcj0iMjY2OjMtMjcxOjQiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjQyNiIgbG9jYXRvcj0iMjY3OjQtMjY4OjMxIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNDIyIiBsb2NhdG9yPSIyNjc6OS0yNjc6MzQiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMCIgbG9jYXRvcj0iMjY3OjktMjY3OjE0IiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIxIiBsb2NhdG9yPSIyNjc6MTktMjY3OjM0IiBuYW1lPSJmaGlyOnBvc2l0aXZlSW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDI1IiBsb2NhdG9yPSIyNjg6Ni0yNjg6MzEiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMyIgbG9jYXRvcj0iMjY4OjYtMjY4OjExIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDI0IiBsb2NhdG9yPSIyNjg6MTYtMjY4OjMxIiBuYW1lPSJmaGlyOnBvc2l0aXZlSW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iNDM0IiBsb2NhdG9yPSIyNzA6Ny0yNzA6MTA4IiB4c2k6dHlwZT0iTWVzc2FnZSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI5IiBsb2NhdG9yPSIyNzA6MTUtMjcwOjM4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjciIGxvY2F0b3I9IjI3MDoxNS0yNzA6MTgiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDI4IiBsb2NhdG9yPSIyNzA6MjMtMjcwOjM4IiBuYW1lPSJmaGlyOnBvc2l0aXZlSW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjQzMCIgbG9jYXRvcj0iMjcwOjQxLTI3MDo0NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8Y29kZSBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjI3MDo0Ny0yNzA6NDkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYWxJZD0iNDMyIiBsb2NhdG9yPSIyNzA6NTItMjcwOjU4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2FsSWQ9IjQzMyIgbG9jYXRvcj0iMjcwOjYxLTI3MDoxMDciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDYW5ub3QgY29tcHV0ZSBhIHBvc2l0aXZlIGZyb20gYSBTdHJpbmcgdmFsdWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDE5IiBsb2NhdG9yPSIyNjU6MzgtMjY1Ojc0IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDE3IiBsb2NhdG9yPSIyNjU6NDUtMjY1OjYwIiBuYW1lPSJmaGlyOnBvc2l0aXZlSW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDE4IiBsb2NhdG9yPSIyNjU6NjMtMjY1OjczIiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNDQ0IiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJsaWJyYXJ5IElNTVpDb21tb24iIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiSU1NWkNvbW1vbiIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6MjkiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJXQ29tIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiV0hPQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIldDb20iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6MzEiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJXY29uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db25jZXB0cyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJXSE9Db25jZXB0cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJXY29uIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjM1IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg6MS04OjI4IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJGQyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpjIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MS0xMjo4MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJbI10gQmlydGhzIHRvdGFsIiwKICAgICAgICAgICAgImlkIiA6ICIxMTY0MC0wIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIlByZWduYW5jeSBvdXRjb21lIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiWyNdIEJpcnRocyB0b3RhbFwiIiwiOiAiLCInMTE2NDAtMCciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiLCIuIiwiXCJMT0lOQ1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInUHJlZ25hbmN5IG91dGNvbWUnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjo0MS0xMjo1MyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJMT0lOQyIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM6MS0xMzo3MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJbI10gQmlydGhzLnByZXRlcm0iLAogICAgICAgICAgICAiaWQiIDogIjExNjM3LTYiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiUHJldGVybSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJbI10gQmlydGhzLnByZXRlcm1cIiIsIjogIiwiJzExNjM3LTYnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiwiLiIsIlwiTE9JTkNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ1ByZXRlcm0nIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzo0My0xMzo1NSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJMT0lOQyIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOToxLTIwOjE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkdldCBJbW11bml6YXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vVE9ETzogQ2hlY2sgcGF0aWVudCBpcyBhbGl2ZVxuXG4vL0dldCBwYXRpZW50IGltbXVuaXphdGlvbnNcbiIsImRlZmluZSAiLCJcIkdldCBJbW11bml6YXRpb25cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiSW1tdW5pemF0aW9uIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDozLTIwOjE2IiwKICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxLTI1OjE5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkltbXVuaXphdGlvbiBTdGF0dXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIGNoZWNrIHZhY2NpbmUgc3RhdHVzXG4iLCJkZWZpbmUgIiwiXCJJbW11bml6YXRpb24gU3RhdHVzXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJJbW11bml6YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJldHVybiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6My0yNToxOSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDozLTI0OjE4IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJJIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6My0yNDoxNiIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9SW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTo1LTI1OjE5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MTItMjU6MTkiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJJIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODoxLTMwOjM1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkltbXVuaXphdGlvbiBDb21wbGV0ZWQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vY2hlY2sgSW1tdW5pemF0aW9uLnN0YXR1cyBmb3Igbm90LWRvbmVcbiIsImRlZmluZSAiLCJcIkltbXVuaXphdGlvbiBDb21wbGV0ZWRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIkltbXVuaXphdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInsiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidjb21wbGV0ZWQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OjMtMzA6MzUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk6My0yOToxOCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OjMtMjk6MTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDo1LTMwOjM1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjExLTMwOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjIzLTMwOjM1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjI0LTMwOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvbXBsZXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzoxLTM1OjM0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkltbXVuaXphdGlvbiBOb3QgRG9uZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9jaGVjayBJbW11bml6YXRpb24uc3RhdHVzIGZvciBub3QtZG9uZVxuIiwiZGVmaW5lICIsIlwiSW1tdW5pemF0aW9uIE5vdCBEb25lXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJJbW11bml6YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ7IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInbm90LWRvbmUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjMtMzU6MzQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ6My0zNDoxOCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjMtMzQ6MTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTo1LTM1OjM0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjExLTM1OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjIzLTM1OjM0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjI0LTM1OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm5vdC1kb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjEtNDI6MjUiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5pemF0aW9uIFN0YXR1c1JlYXNvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9ob3cgZG8gd2UgaGFuZGxlIGVudGVyZWQtaW4tZXJyb3I/IEl0IHNlZW1zIGxpa2UgaXQgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIG5vdC1kb25lIGluIGhvdyBpdCBzaG91bGQgYmUgaGFuZGxlZD8gVGhlc2Ugc2hvdWxkIGJlIGlnbm9yZWQgc28gd2UgbGlrZWx5IGRvbid0IG5lZWQgdG8gY2hlY2sgZm9yIHRoZW0uIFdlIHNob3VsZCBtYXliZSBzZXQgdGhlc2UgdG8gY2hlY2sgZm9yIHN0YXR1c2VzIGxpa2UgY29tcGxldGUsIG9yIGFtZW5kZWQgXG5cbi8vY2hlY2sgdmFjY2luZSBzdGF0dXMgcmVhc29uIC0gZS5nLiBpZiB2YWNjaW5lIHdhcyBub3QgZ2l2ZW5cbiIsImRlZmluZSAiLCJcIkltbXVuaXphdGlvbiBTdGF0dXNSZWFzb25cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIkltbXVuaXphdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXR1c1JlYXNvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTozLTQyOjI1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjMtNDE6MTgiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MTozLTQxOjE2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjUtNDI6MjUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxMi00MjoyNSIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXNSZWFzb24iLAogICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNTA6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0IE9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9kZWZpbmUgc3RhdHVzUmVhc29uIEltbXVuaXphdGlvbnMgZm9yIHdoZW4gaXQgd2FzIG5vdCBnaXZlblxuXG4vL1Byb2NlZHVyZSBmb3IgdmFjY2luZSBhZG1pbmlzdHJhdGlvblxuXG4vL0dldCBwYXRpZW50IG9ic2VydmF0aW9ucy4gRG8gd2UgbmVlZCB0aGlzIHN0YXRlbWVudCB0byBnZXQgYWxsIE9ic2VydmF0aW9ucz9cbiIsImRlZmluZSAiLCJcIkdldCBPYnNlcnZhdGlvbnNcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiT2JzZXJ2YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNTA6MTUiLAogICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU3Ojc0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZWduYW50IE9ic2VydmF0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvL0NoZWNrIGlmIHBhdGllbnQgaXMgcHJlZ25hbnRcbi8vbm90IHN1cmUgaWYgcHJlZ25hbmN5IGlzIGFuIE9ic2VydmF0aW9uXG4iLCJkZWZpbmUgIiwiXCJQcmVnbmFudCBPYnNlcnZhdGlvblwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiT2JzZXJ2YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgLy9JUFMgVXNlcyBPYnNlcnZhdGlvbiAtIGh0dHBzOi8vaGw3Lm9yZy9maGlyL3V2L2lwcy9TdHJ1Y3R1cmVEZWZpbml0aW9uLW9ic2VydmF0aW9uLXByZWduYW5jeS1zdGF0dXMtdXYtaXBzLmh0bWxcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb2RlYWJsZUNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiV2NvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjMtNTc6NzQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6My01NToxNyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjMtNTU6MTUiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6NS01Nzo3NCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6MTEtNTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NzoxMi01NzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NzoyMy01NzozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6NDMtNTc6NzQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJlZ25hbmN5IFN0YXR1cyBQcmVnbmFudCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiV2NvbiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6MS03MzoxMzMiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJlZ25hbnQgQ29uZGl0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjc2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuTmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byBhZGQgdGhlIE9SIENvbmRpdGlvbiBpbiBjYXNlIHByZWduYW5jeSBpcyBzdG9yZWQgaW4gYSBjb25kaXRpb24gaW5zdGVhZCBvZiBhbiBPYnNlcnZhdGlvbiBcbm9yIFtDb25kaXRpb25dIENcbiAgICAgIHdoZXJlIChDLmNvZGUgYXMgQ29kZWFibGVDb25jZXB0KSBpbiBXY29uLlwiUHJlZ25hbmN5IFN0YXR1cyBQcmVnbmFudFwiXG4qL1xuXG4vKlxuZGVmaW5lIFwiUGF0aWVudCBIYXMgQWN0aXZlIFNpY2tsZS1jZWxsIGRpc2Vhc2VcIjpcbiAgZXhpc3RzKFtDb25kaXRpb246IGNvZGUgPSBJTU1aYy5cIlNpY2tsZS1jZWxsIERpc2Vhc2UgQ29uZGl0aW9uXCJdIENcbiAgd2hlcmUgQy5jbGluaWNhbFN0YXR1cyBpbiBGQy5cIkFjdGl2ZSBDb25kaXRpb25cIlxuICBhbmQgQy5hYmF0ZW1lbnQgaXMgbnVsbClcbiovXG4iLCJkZWZpbmUgIiwiXCJQcmVnbmFudCBDb25kaXRpb25cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIkNvbmRpdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJXY29uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlByZWduYW5jeSBTdGF0dXMgUHJlZ25hbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgb3IgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZWFibGVDb25jZXB0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIn4iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQ3VycmVudGx5IFByZWduYW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjozLTczOjEzMyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjozLTcyOjE1IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6My03MjoxMyIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjUtNzM6MTMzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxMS03Mzo3MyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTEtNzM6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxMi03MzoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjIyLTczOjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo0Mi03Mzo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJXY29uIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjc4LTczOjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo3OC03MzoxMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo3OS03Mzo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjg5LTczOjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxMDgtNzM6MTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkN1cnJlbnRseSBQcmVnbmFudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NToxLTc4OjM0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZWduYW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJQcmVnbmFudFwiIiwiOiBcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZXhpc3RzXG4gICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUHJlZ25hbnQgT2JzZXJ2YXRpb25cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICBvciAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImV4aXN0cyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUHJlZ25hbnQgQ29uZGl0aW9uXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozLTc4OjM0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozLTc3OjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjMtNzc6MjciLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJlZ25hbnQgT2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo2LTc4OjM0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjEzLTc4OjM0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByZWduYW50IENvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjEtOTA6MTgiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBtb3RoZXIncyBwcmVnbmFuY3kgb3V0Y29tZSBvYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4OSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9TZXJvbmVnYXRpdmUuIFJlbGV2YW50IGZvciBEZW5ndWUgXG4vKlxuZGVmaW5lIFwiSW5kaXZpZHVhbCBpcyBTZXJvbmVnYXRpdmUgZm9yIERlbmd1ZVwiOlxuICBbT2JzZXJ2YXRpb25dIE9cbiAgICB3aGVyZSAoTy52YWx1ZSBhcyBDb2RlYWJsZUNvbmNlcHQpIGluIElNTVpjLlNlcm9uZWdhdGl2ZVxuKi9cblxuLy9Ub3RhbCBudW1iZXIgb2YgYmlydGhzIGluY2x1ZGluZyBhYm9ydGlvbnMsIHN0aWxsYmlydGhzIGFuZCBsaXZlIGJpcnRocy5cbiIsImRlZmluZSAiLCJcIlBhdGllbnQgbW90aGVyJ3MgcHJlZ25hbmN5IG91dGNvbWUgb2JzZXJ2YXRpb25cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk9ic2VydmF0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJbI10gQmlydGhzIHRvdGFsXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjMtOTA6MTgiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6My04OTo0NCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjMtODk6NDIiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogIj0iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MjQtODk6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWyNdIEJpcnRocyB0b3RhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjUtOTA6MTgiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoxMi05MDoxOCIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MS05NjoxOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmV0ZXJtIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBUb3RhbCBudW1iZXIgb2YgY2hpbGRyZW4gd2hvc2UgYmlydGggb2NjdXJyZWQgdGhyb3VnaCB0aGUgZW5kIG9mIHRoZSBsYXN0IGRheSBvZiB0aGUgMzd0aCB3ZWVrICgyNTl0aCBkYXkpIFxuLy8gZm9sbG93aW5nIG9uc2V0IG9mIHRoZSBsYXN0IG1lbnN0cnVhbCBwZXJpb2RcbiIsImRlZmluZSAiLCJcIlByZXRlcm1cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk9ic2VydmF0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJbI10gQmlydGhzLnByZXRlcm1cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6My05NjoxOCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTozLTk1OjQ2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6My05NTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiPSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToyNC05NTo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJbI10gQmlydGhzLnByZXRlcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Njo1LTk2OjE4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6MTItOTY6MTgiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OToxLTEwMTo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmV0ZXJtIEJpcnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwNyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9PYnNlcnZlZCBQcmV0ZXJtIGJpcnRoXG4iLCJkZWZpbmUgIiwiXCJQcmV0ZXJtIEJpcnRoXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiT2JzZXJ2YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29kZWFibGVDb25jZXB0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGluICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQcmV0ZXJtQmlydGgiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6My0xMDE6NjAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjMtMTAwOjE3IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjMtMTAwOjE1IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6NS0xMDE6NjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6MTEtMTAxOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMToxMi0xMDE6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMToyMy0xMDE6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6NDMtMTAxOjYwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByZXRlcm1CaXJ0aCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDQ6MS0xMDc6MTIiLAogICAgICAgICAgICAibmFtZSIgOiAiQWR2ZXJzZSBFdmVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vQGRhdGFFbGVtZW50IEFkdmVyc2UgRXZlbnQ6XG4iLCJkZWZpbmUgIiwiXCJBZHZlcnNlIEV2ZW50XCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiSW1tdW5pemF0aW9uIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiT2JzZXJ2YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGluICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiwiLiIsInJlYWN0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIlIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3BsaXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkZXRhaWwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmVmZXJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6My0xMDc6MTIiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNTo4LTEwNToyMyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6OC0xMDU6MjEiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MjYtMTA1OjQwIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyNi0xMDU6MzgiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo1LTEwNjo3NiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjExLTEwNjoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MTktMTA2Ojc2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MjAtMTA2OjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjoyMC0xMDY6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVhY3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjMzLTEwNjo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6NDAtMTA2Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6NDUtMTA2Ojc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlNwbGl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZ1RvU3BsaXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjUxLTEwNjo2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6NTEtMTA2OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRldGFpbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjcxLTEwNjo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo1LTEwNzoxMiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MTIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjoxLTExNzo0NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBbGxlcmd5ID0gVHJ1ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qIFxuICogQGRhdGFFbGVtZW50IEFsbGVyZ3kgPSBUcnVlXG4gKi9cbiIsImRlZmluZSAiLCJcIkFsbGVyZ3kgPSBUcnVlXCIiLCI6XG5cdCIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiQWxsZXJneUludG9sZXJhbmNlIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJBIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlIFxuXHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2xpbmljYWxTdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwifiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZDIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJhbGxlcmd5LWFjdGl2ZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRhbmRcblx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2ZXJpZmljYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwifiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZDIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJhbGxlcmd5LWNvbmZpcm1lZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQyIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoyLTExNzo0NiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjItMTEzOjIzIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJBIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoyLTExMzoyMSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QWxsZXJneUludG9sZXJhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9BbGxlcmd5SW50b2xlcmFuY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6Mi0xMTc6NDYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjItMTE1OjM5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6Mi0xMTU6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2xpbmljYWxTdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjIxLTExNTozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhbGxlcmd5LWFjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoyLTExNzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjItMTE3OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcmlmaWNhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6MjUtMTE3OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImFsbGVyZ3ktY29uZmlybWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6MS0xMjg6MzkiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5vY29tcHJvbWlzZWQgPSBUcnVlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2NSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyogXG4gKiBAZGF0YUVsZW1lbnQgSW1tdW5vY29tcHJvbWlzZWQgPSBUcnVlXG4gKi9cbiIsImRlZmluZSAiLCJcIkltbXVub2NvbXByb21pc2VkID0gVHJ1ZVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJDb25kaXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgXG5cdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aYyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSW1tdW5vY29tcHJvbWlzZWRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0YW5kXG4gIFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjbGluaWNhbFN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZDIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJBY3RpdmUgQ29uZGl0aW9uXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRhbmRcblx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2ZXJpZmljYXRpb25TdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwifiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZDIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJjb25maXJtZWRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjItMTI4OjM5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6OC0xMjg6MzkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzo5LTEyMzoyMSIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6OS0xMjM6MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjItMTI4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDo4LTEyNjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6OC0xMjQ6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6OC0xMjQ6MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjE4LTEyNDo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbW11bm9jb21wcm9taXNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjo0LTEyNjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjo0LTEyNjoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjbGluaWNhbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjI0LTEyNjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGQyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODoyLTEyODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjItMTI4OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcmlmaWNhdGlvblN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6MjUtMTI4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmZpcm1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3OSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6MS0xMzY6NTYiLAogICAgICAgICAgICAibmFtZSIgOiAiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEBkYXRhRWxlbWVudCBBbGwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdG8gcGF0aWVudCBvcmRlcmVkIG5ld2VzdCB0byBvbGRlc3RcbiAqL1xuIiwiZGVmaW5lICIsIlwiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3OCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJJbW11bml6YXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidjb21wbGV0ZWQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNvcnQgYnkgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkYXRlIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2NjdXJyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRlc2MiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjMtMTM2OjU2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6My0xMzQ6MTgiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjMtMTM0OjE2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNTo1LTEzNTozMiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjExLTEzNToxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjIyLTEzNTozMiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjb21wbGV0ZWQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJzb3J0IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6NS0xMzY6NTYiLAogICAgICAgICAgICAgICAgICAiYnkiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjEzLTEzNjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iIDogImRlc2MiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQnlFeHByZXNzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjoxMy0xMzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjoyMy0xMzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjI0LTEzNjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJvY2N1cnJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklkZW50aWZpZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozOC0xMzY6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjEtMTQxOjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNldmVyZWx5IEltbXVub3N1cHByZXNzZWQgQ29uZGl0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE4MSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBDb250cmFpbmRpY2F0aW9ucyBcbiAqL1xuIiwiZGVmaW5lICIsIlwiU2V2ZXJlbHkgSW1tdW5vc3VwcHJlc3NlZCBDb25kaXRpb25cIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIkNvbmRpdGlvbiIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aYyIsIi4iLCJcIlNldmVyZWx5IGltbXVub3N1cHByZXNzZWRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjMtMTQxOjQ4IiwKICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogIn4iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjE1LTE0MTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aYyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjEtMTQ0OjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkhpc3Rvcnkgb2YgQW5hcGh5bGFjdGljIFJlYWN0aW9ucyBDb25kaXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTgzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJIaXN0b3J5IG9mIEFuYXBoeWxhY3RpYyBSZWFjdGlvbnMgQ29uZGl0aW9uXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJDb25kaXRpb24iLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiLCIuIiwiXCJIaXN0b3J5IG9mIGFuYXBoeWxhY3RpYyByZWFjdGlvbnNcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjMtMTQ0OjU2IiwKICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogIn4iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjE1LTE0NDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIaXN0b3J5IG9mIGFuYXBoeWxhY3RpYyByZWFjdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDY6MS0xNDc6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiU2V2ZXJlIEFsbGVyZ2ljIFJlYWN0aW9ucyBDb25kaXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJTZXZlcmUgQWxsZXJnaWMgUmVhY3Rpb25zIENvbmRpdGlvblwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiQ29uZGl0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiwiLiIsIlwiU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9uc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJdIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDc6My0xNDc6NDgiLAogICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAifiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDc6MTUtMTQ3OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNldmVyZSBhbGxlcmdpYyByZWFjdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6MS0xNTA6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiU3ltcHRvbWF0aWMgSElWIEluZmVjdGlvbiBDb25kaXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTg3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJTeW1wdG9tYXRpYyBISVYgSW5mZWN0aW9uIENvbmRpdGlvblwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiQ29uZGl0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiwiLiIsIlwiU3ltcHRvbWF0aWMgSElWIGluZmVjdGlvblwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJdIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6My0xNTA6NDgiLAogICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAifiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTUtMTUwOjQ3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN5bXB0b21hdGljIEhJViBpbmZlY3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTg6MS0xNjA6MzMiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBUZXN0IFJlc3VsdHNcbiAqL1xuIiwiZGVmaW5lICIsIlwiUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWVcIiIsIjpcbiIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiT2JzZXJ2YXRpb24iLCI6ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImluIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiLCIuIiwiXCJQYXRpZW50IGJpcnRoIHdlaWdodCBvYnNlcnZhdGlvbiB2YWx1ZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJRdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjEtMTYwOjMzIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTk6MS0xNTk6NzEiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk8iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjEtMTU5OjY5IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTk6MjMtMTU5OjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgYmlydGggd2VpZ2h0IG9ic2VydmF0aW9uIHZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDozLTE2MDozMyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjA6MTAtMTYwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDoxMC0xNjA6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDoyMS0xNjA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5OSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6MS0xNjY6MjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKiBcbiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGFnZSBpbiB5ZWFyc1xuICovXG4iLCJkZWZpbmUgIiwiXCJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb2RheSIsIigpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5OCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjY6My0xNjY6MjMiLAogICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJZZWFyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjE2LTE2NjoyMiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjoxLTE3MzoyMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIwMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy9Ub2RheSgpIC0gKFBhdGllbnQuYmlydGhEYXRlIGFzIFN5c3RlbS5EYXRlKVxuXG4vKiogXG4gKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBhZ2UgaW4gd2Vla3NcbiAqL1xuIiwiZGVmaW5lICIsIlwiQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrc1wiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJbldlZWtzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9kYXkiLCIoKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjMtMTczOjIzIiwKICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiV2VlayIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MzoxNi0xNzM6MjIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MS0xNzk6MjQiLAogICAgICAgICAgICAibmFtZSIgOiAiQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjA1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBhZ2UgaW4gbW9udGhzXG4gKi9cbiIsImRlZmluZSAiLCJcIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluTW9udGhzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9kYXkiLCIoKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjMtMTc5OjI0IiwKICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiTW9udGgiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6MTctMTc5OjIzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTg2OjEtMTg3OjE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgQmlvbG9naWNhbCBTZXgiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjA4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBiaW9sb2dpY2FsIHNleCB1c2VkIGZvciBkZWNpZGluZyB2YWNjaW5lIGVsaWdpYmlsaXR5XG4gKiBUT0RPOiBcIkdlbmRlclwiIG9mIHBhdGllbnQgaW4gRkhJUiBpcyB0aGUgYWRtaW5pc3RyYXRpdmUgZ2VuZGVyIC0gb3IgY2FuIHdlIGV4cGVjdCB0aGF0IHRoaXMgd2lsbCBiZSBiaW9sb2dpY2FsIHNleCBhbmQgYWRtaW5pc3RyYXRpdmVcbiAqICAgICAgICBnZW5kZXIgaWRlbnRpdHkgd2lsbCBiZSBjYXB0dXJlZCB1c2luZyB0aGUgZ2VuZGVyIGlkZW50aXR5IGV4dGVuc2lvbj9cbiAqL1xuIiwiZGVmaW5lICIsIlwiUGF0aWVudCBCaW9sb2dpY2FsIFNleFwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJnZW5kZXIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODc6My0xODc6MTYiLAogICAgICAgICAgICAgICAicGF0aCIgOiAiZ2VuZGVyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjMtMTg3OjkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NzoxLTI4Nzo0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dHJhY3RNZWRpY2F0aW9uQ29kZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRlc2NyaXB0aW9uIFRha2VzIGEgY2hvaWNlIGJldHdlZW4gYSBNZWRpY2F0aW9uIGFuZCBhIENvZGVhYmxlQ29uY2VwdCBhbmQgcmV0dXJucyBqdXN0IHRoZSBjb2RlIG9mIHRoZSBtZWRpY2F0aW9uXG4gKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJFeHRyYWN0TWVkaWNhdGlvbkNvZGUiLCIoIiwiY2hvaWNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNob2ljZTwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlJlZmVyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiQ29kZWFibGVDb25jZXB0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICBcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJDb2RlYWJsZUNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUmVmZXJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZpcnN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiTWVkaWNhdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3BsaXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZWZlcmVuY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIicvJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdGVsc2VcbiAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lc3NhZ2UiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm51bGwiLCIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJDb2RlYWJsZUNvbmNlcHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Vycm9yJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInQ2Fubm90IGNvbXB1dGUgYSBtZWRpY2F0aW9uIGNvZGUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgLy8gVE9ETzogSSdtIHN1cmUgdGhhdCB0aGlzIGlzIHN1cHBvcnRlZCBzb21laG93P1xuXHRlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzg6My0yODc6NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OTo0LTI4MDozNSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzk6OS0yNzk6MzgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjktMjc5OjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzk6MTktMjc5OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDo2LTI4MDozNSIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6Ni0yODA6MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDoxNi0yODA6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6NS0yODQ6NDYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjEwLTI4MTozMyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6MTAtMjgxOjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6MjAtMjgxOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mjo3LTI4NDo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MjoxMy0yODQ6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MjoxMy0yODI6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgyOjEzLTI4MjoyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mzo5LTI4Mzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjE1LTI4MzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6MjItMjgzOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6MjctMjgzOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlNwbGl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZ1RvU3BsaXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjMzLTI4Mzo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6MzMtMjgzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODM6NTEtMjgzOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6OS0yODQ6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg0OjE2LTI4NDo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6MTYtMjg0OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NDoyNi0yODQ6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Njo3LTI4Njo5OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjE1LTI4Njo0MiIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MTUtMjg2OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NjoyMy0yODY6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NDUtMjg2OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NTEtMjg2OjUzIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NTYtMjg2OjYyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NjUtMjg2Ojk4IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNhbm5vdCBjb21wdXRlIGEgbWVkaWNhdGlvbiBjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjQ2LTI3Nzo4OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzc6NTMtMjc3OjcyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzc6NzUtMjc3Ojg4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjEtMzAxOjQiLAogICAgICAgICAgICAibmFtZSIgOiAiRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRlc2NyaXB0aW9uIFRha2VzIGEgY2hvaWNlIGJldHdlZW4gYSBNZWRpY2F0aW9uIGFuZCBhIENvZGVhYmxlQ29uY2VwdCBhbmQgcmV0dXJucyBqdXN0IHRoZSBjb2RlIG9mIHRoZSBtZWRpY2F0aW9uXG4gKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJFeHRyYWN0TWVkaWNhdGlvbkluaXRpYXRpb25EYXRlIiwiKCIsImNob2ljZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDaG9pY2U8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIlBlcmlvZCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUGVyaW9kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICBcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUGVyaW9kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0ZWxzZVxuICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibnVsbCIsIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwidHJ1ZSIsIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJzEnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidFcnJvciciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Nhbm5vdCBjb21wdXRlIG1lZGljYXRpb24gdHJlYXRtZW50IGluaXRpYXRpb24gZGF0ZSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAvLyBUT0RPOiBJJ20gc3VyZSB0aGF0IHRoaXMgaXMgc3VwcG9ydGVkIHNvbWVob3c/XG5cdGVuZCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NDozLTMwMTo0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk1OjQtMjk2OjM3IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NTo5LTI5NToyOSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTU6OS0yOTU6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NToxOS0yOTU6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjYtMjk2OjM3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9JbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTY6MTUtMjk2OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NjoxNi0yOTY6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NjoyNi0yOTY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTc6NS0yOTg6MjkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjEwLTI5NzozMiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTc6MTAtMjk3OjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTc6MjAtMjk3OjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODo3LTI5ODoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6Ny0yOTg6MTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODoxNy0yOTg6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6Ny0zMDA6MTExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6MTUtMzAwOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMDoxNS0zMDA6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjIzLTMwMDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjM4LTMwMDo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjQ0LTMwMDo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjQ5LTMwMDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjU4LTMwMDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ2Fubm90IGNvbXB1dGUgbWVkaWNhdGlvbiB0cmVhdG1lbnQgaW5pdGlhdGlvbiBkYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Mzo1Ni0yOTM6ODkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjYzLTI5Mzo3NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTM6NzgtMjkzOjg4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTg5OjEtMTk1OjU4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0IERhdGUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzA2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydCBEYXRlXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFeHRyYWN0TWVkaWNhdGlvbkNvZGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibWVkaWNhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJBUlYgRHJ1Z3NcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgXG4gICAgICBhbmQgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAieyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInYWN0aXZlJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInY29tcGxldGUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgfSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgIGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkV4dHJhY3RNZWRpY2F0aW9uSW5pdGlhdGlvbkRhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZWZmZWN0aXZlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImxlc3MgdGhhbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIxMiAiLCInbW9udGgnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYmVmb3JlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9kYXkiLCIoKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRXh0cmFjdE1lZGljYXRpb25Jbml0aWF0aW9uRGF0ZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlZmZlY3RpdmUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDozLTE5NTo1OCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMYXN0IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjgtMTk1OjU3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTA6OC0xOTA6MzUiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkEiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjgtMTkwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MTo1LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTI6Ny0xOTM6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjctMTkyOjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjctMTkyOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4dHJhY3RNZWRpY2F0aW9uQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MjoyOS0xOTI6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Mjo0Ni0xOTI6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQVJWIERydWdzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aYyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjExLTE5Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjExLTE5MzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjIzLTE5Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjI1LTE5MzozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MzozNS0xOTM6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY29tcGxldGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoxMS0xOTQ6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6MTEtMTk0OjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4dHJhY3RNZWRpY2F0aW9uSW5pdGlhdGlvbkRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NDMtMTk0OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImVmZmVjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NTYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo4NC0xOTQ6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NjYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93Q2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NTYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo4NC0xOTQ6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NjYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NTYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo4NC0xOTQ6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6NjYtMTk0Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2hDbG9zZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo1Ni0xOTQ6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6ODQtMTk0OjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0Ojg0LTE5NDo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo2Ni0xOTQ6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6ODQtMTk0OjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo3LTE5NTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6MTQtMTk1OjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4dHJhY3RNZWRpY2F0aW9uSW5pdGlhdGlvbkRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6NDYtMTk1OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImVmZmVjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NzoxLTE5ODo4NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydGVkIDYgdG8gMTIgTW9udGhzIEFnbyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlBhdGllbnQgSEFBUlQgVHJlYXRtZW50IFN0YXJ0ZWQgNiB0byAxMiBNb250aHMgQWdvXCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydCBEYXRlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBiZXR3ZWVuICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTm93IiwiKCkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAtICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjEyICIsIm1vbnRocyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhbmQgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJOb3ciLCIoKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIC0gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiNiAiLCJtb250aHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjMtMTk4Ojg1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6My0xOTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBIQUFSVCBUcmVhdG1lbnQgU3RhcnQgRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjQ4LTE5ODo2NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5ODo0OC0xOTg6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm93IgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjU2LTE5ODo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5ODozLTE5ODozOCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydCBEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6NzAtMTk4Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk4OjcwLTE5ODo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6NzgtMTk4Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDYsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMxIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMzoxLTIwNjoxMjkiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzMxIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEBkYXRhRWxlbWVudCBUaGUgcGF0aWVudCBoYXMgYSBtZWRpY2F0aW9uIHJlY29yZCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGV5IGFyZSByZWNlaXZpbmcgQVJWXG4gKi9cbiIsImRlZmluZSAiLCJcIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUXCIiLCI6XG4gLy9leGlzdHMoW01lZGljYXRpb25TdGF0ZW1lbnRdIFMgd2hlcmUgRXh0cmFjdE1lZGljYXRpb25Db2RlKFMubWVkaWNhdGlvbikgaW4gSU1NWmMuXCJBUlYgRHJ1Z3NcIiBhbmQgUy5zdGF0dXMgPSAnYWN0aXZlJylcbiAvL29yIFxuICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImV4aXN0cyIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiQSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRXh0cmFjdE1lZGljYXRpb25Db2RlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm1lZGljYXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aYyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQVJWIERydWdzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidpbi1wcm9ncmVzcyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjItMjA2OjEyOSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjgtMjA2OjEyOSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjktMjA2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJBIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjo5LTIwNjozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6MzgtMjA2OjEyOCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6NDQtMjA2Ojk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjQ0LTIwNjo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFeHRyYWN0TWVkaWNhdGlvbkNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6NjYtMjA2Ojc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6ODMtMjA2Ojk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFSViBEcnVncyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjoxMDUtMjA2OjEyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjEwNS0yMDY6MTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6MTE2LTIwNjoxMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaW4tcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEtMjE3OjQyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkhJViBTdGF0dXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzU2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvL3VuaW9uIFxuIC8vXG5cbi8qXG4gIEBkYXRhRWxlbWVudCBISVYgU3RhdHVzIG9ic2VydmF0aW9ucyBvZiB0aGUgcGF0aWVudCBtb3N0IHJlY2VudCBmaXJzdFxuKi9cbiIsImRlZmluZSAiLCJcIkhJViBTdGF0dXNcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJPYnNlcnZhdGlvbiIsIjogIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aYyIsIi4iLCJcIkhJViBzdGF0dXNcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXR1cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ7ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidmaW5hbCciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2FtZW5kZWQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidjb3JyZWN0ZWQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgfSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgYW5kICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ29hbGVzY2UiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNb2RpZmllckV4dGVuc2lvbiIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIid3aG8tbm90RG9uZSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidmFsdWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJmYWxzZSIsIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBmYWxzZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsIkNvZGVhYmxlQ29uY2VwdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE0OjMtMjE3OjQyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTQ6My0yMTQ6MzciLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk8iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE0OjMtMjE0OjM1IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTQ6MTctMjE0OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhJViBzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTU6NS0yMTY6ODIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjExLTIxNTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjExLTIxNToxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjIzLTIxNTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjI1LTIxNTozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmaW5hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjM0LTIxNTo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhbWVuZGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTU6NDUtMjE1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvcnJlY3RlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6MTEtMjE2OjgyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzRmFsc2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjExLTIxNjo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1ib29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjoyMC0yMTY6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6MjAtMjE2OjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJXQ29tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6NDYtMjE2OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIndoby1ub3REb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6NjgtMjE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmYWxzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjUtMjE3OjQyIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzoxMi0yMTc6NDIiLAogICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjEyLTIxNzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjIzLTIxNzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6MS0yMjM6ODIiLAogICAgICAgICAgICAibmFtZSIgOiAiTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2NSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbiAgQGRhdGFFbGVtZW50IERhdGUgYW5kIHRpbWUgb2YgbGFzdCBsaXZlIGF0dGVudWF0ZWQgdmFjY2luZVxuKi9cbiIsImRlZmluZSAiLCJcIkxpdmUgQXR0ZW51YXRlZCBWYWNjaW5lc1wiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhY2NpbmVDb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGluICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWmMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkxpdmUgQXR0ZW51YXRlZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjMtMjIzOjgyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yMjM6MzUiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNTciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjMtMjIzOjMzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6MzctMjIzOjgyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjQzLTIyMzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWNjaW5lQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjYwLTIyMzo4MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXZlIEF0dGVudWF0ZWQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjEtMjI2OjU4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM3MSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmVcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3MCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZpcnN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvY2N1cnJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjMtMjI2OjU4IiwKICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNjozLTIyNjo0NiIsCiAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJvY2N1cnJlbmNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjMtMjI2OjM1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjktMjI2OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpdmUgQXR0ZW51YXRlZCBWYWNjaW5lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjUxLTIyNjo1OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjM2OjEtMjM3OjI2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ubHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzc2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDUUwgSGVscGVyIEZ1bmN0aW9uc1xuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEZldGNoZXMgYSBzaW5nbGV0b24gcHJvdG9jb2wgYXBwbGllZCBmcm9tIGFuIGltbXVuaXphdGlvblxuICogQGNvbW1lbnQgVGhlIHByb3RvY29sIGxpc3QgZnJvbSB0aGUgaW1tdW5pemF0aW9uXG4gKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJPbmx5IiwiKCIsInByb3RvY29scyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiSW1tdW5pemF0aW9uIiwiLiIsIlByb3RvY29sQXBwbGllZCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJwcm90b2NvbHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjMtMjM3OjI2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE4LTIzNzoyNiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcm90b2NvbHMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInByb3RvY29scyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM2OjMyLTIzNjo3MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM2OjM3LTIzNjo2OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24uUHJvdG9jb2xBcHBsaWVkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQyOjEtMjQ4OjQiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM5NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBAZGVzY3JpcHRpb24gVGFrZXMgdGhlIGRhdGUgY2hvaWNlIG9mIGEgZGF0ZS9zdHJpbmcgY2hvaWNlIChmb3IgSW1tdW5pemF0aW9uIGRhdGUpXG4gKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb0RhdGUiLCIoIiwiY2hvaWNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNob2ljZTwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJzdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZVxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuICAgIFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0ZWxzZVxuICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVzc2FnZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibnVsbCIsIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Vycm9yJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInQ2Fubm90IGNvbXB1dGUgYSBkYXRlIGZyb20gYSBTdHJpbmcgdmFsdWUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQzOjMtMjQ4OjQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6NC0yNDU6MjQiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjktMjQ0OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo5LTI0NDoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjE5LTI0NDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ1OjYtMjQ1OjI0IiwKICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NTo2LTI0NToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ1OjE2LTI0NToyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Nzo3LTI0Nzo5NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjE1LTI0NzozMSIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MTUtMjQ3OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzoyMy0yNDc6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjM0LTI0NzozNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjQwLTI0Nzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjQ1LTI0Nzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjU0LTI0Nzo5NiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDYW5ub3QgY29tcHV0ZSBhIGRhdGUgZnJvbSBhIFN0cmluZyB2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MjozMS0yNDI6NjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQyOjM4LTI0Mjo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Mjo0OS0yNDI6NTkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6MS0yNTk6NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBAZGVzY3JpcHRpb24gVGFrZXMgdGhlIGRhdGUgY2hvaWNlIG9mIGEgZGF0ZS9zdHJpbmcgY2hvaWNlIChmb3IgSW1tdW5pemF0aW9uIGRhdGUpXG4gKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJUb0RhdGVUaW1lIiwiKCIsImNob2ljZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDaG9pY2U8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsInN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNob2ljZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlblxuICAgIFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImRhdGVUaW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdGVsc2VcbiAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lc3NhZ2UiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm51bGwiLCIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsInRydWUiLCIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIicxJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInRXJyb3InIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidDYW5ub3QgY29tcHV0ZSBhIGRhdGUgZnJvbSBhIFN0cmluZyB2YWx1ZSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTQ6My0yNTk6NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NTo0LTI1NjoyOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwMiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTU6OS0yNTU6MzEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU1OjktMjU1OjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTU6MTktMjU1OjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjYtMjU2OjI4IiwKICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Njo2LTI1NjoxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjE2LTI1NjoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxNCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTg6Ny0yNTg6MTAxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTg6MTUtMjU4OjM1IiwKICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1ODoxNS0yNTg6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MDgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjIzLTI1ODozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjM4LTI1ODo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQ0LTI1ODo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQ5LTI1ODo1NSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjU4LTI1ODoxMDAiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ2Fubm90IGNvbXB1dGUgYSBkYXRlIGZyb20gYSBTdHJpbmcgdmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6MzUtMjUzOjY4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Mzo0Mi0yNTM6NTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUzOjU3LTI1Mzo2NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NToxLTI3MTo0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvUG9zaXRpdmVJbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEBkZXNjcmlwdGlvbiBUYWtlcyBhIGNob2ljZSBvZiBGSElSLnN0cmluZyBhbmQgRkhJUi5wb3NpdGl2ZUludCBhbmQgZW5zdXJlcyB0aGUgcmVzdWx0IGlzIGEgRkhJUi5wb3NpdGl2ZUludFxuICovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiVG9Qb3NpdGl2ZUludCIsIigiLCJjaG9pY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQ2hvaWNlPCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MTciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwicG9zaXRpdmVJbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJzdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZVxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjaG9pY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsInBvc2l0aXZlSW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW5cbiAgICBcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2hvaWNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJwb3NpdGl2ZUludCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHRlbHNlXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZXNzYWdlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJudWxsIiwiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwicG9zaXRpdmVJbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJ0cnVlIiwiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInMSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ0Vycm9yJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInQ2Fubm90IGNvbXB1dGUgYSBwb3NpdGl2ZSBmcm9tIGEgU3RyaW5nIHZhbHVlJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIC8vIFRPRE86IEknbSBzdXJlIHRoYXQgdGhpcyBpcyBzdXBwb3J0ZWQgc29tZWhvdz9cblx0ZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY2OjMtMjcxOjQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjc6NC0yNjg6MzEiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY3OjktMjY3OjM0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Nzo5LTI2NzoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY3OjE5LTI2NzozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1wb3NpdGl2ZUludCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2ODo2LTI2ODozMSIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjg6Ni0yNjg6MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2ODoxNi0yNjg6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9cG9zaXRpdmVJbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjctMjcwOjEwOCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MjkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjE1LTI3MDozOCIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzA6MTUtMjcwOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDoyMy0yNzA6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9cG9zaXRpdmVJbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo0MS0yNzA6NDQiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo0Ny0yNzA6NDkiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo1Mi0yNzA6NTgiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MDo2MS0yNzA6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNhbm5vdCBjb21wdXRlIGEgcG9zaXRpdmUgZnJvbSBhIFN0cmluZyB2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjaG9pY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDE5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NTozOC0yNjU6NzQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MTciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjQ1LTI2NTo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1wb3NpdGl2ZUludCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQxOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6NjMtMjY1OjczIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements-2.json new file mode 100644 index 0000000000..68bc9fb63a --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements-2.json @@ -0,0 +1,577 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "/**\n * Immunization Common Stratifiers by Patients as Context\n */\n","library IMMZCommonIzDataElements" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZCommonIzDataElements", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "7:1-7:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "9:1-9:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "10:1-10:29", + "localIdentifier" : "WCom", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOCommon" ] + } ] + }, { + "value" : [ " called ","WCom" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "11:1-11:33", + "localIdentifier" : "IMMZCom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZCommon" ] + } ] + }, { + "value" : [ " called ","IMMZCom" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "12:1-12:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "13:1-13:40", + "localIdentifier" : "IMMZvl", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZVaccineLibrary", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZVaccineLibrary" ] + } ] + }, { + "value" : [ " called ","IMMZvl" ] + } ] + } + } ] + } ] + }, + "codeSystems" : { + "def" : [ { + "localId" : "7", + "locator" : "15:1-15:79", + "name" : "Vaccines Administered", + "id" : "http://hl7.org/fhir/ValueSet/vaccine-code", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","codesystem ","\"Vaccines Administered\"",": ","'http://hl7.org/fhir/ValueSet/vaccine-code'" ] + } ] + } + } ] + } ] + }, + "codes" : { + "def" : [ { + "localId" : "9", + "locator" : "18:1-18:60", + "name" : "BCG", + "id" : "BCG", + "display" : "BCG", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "// Vaccines administered\n","code ","\"BCG\"",": ","'BCG'"," from " ] + }, { + "r" : "8", + "s" : [ { + "value" : [ "\"Vaccines Administered\"" ] + } ] + }, { + "value" : [ " display ","'BCG'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "8", + "locator" : "18:24-18:46", + "name" : "Vaccines Administered" + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "21:1-21:20", + "name" : "Immunization", + "context" : "Immunization", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "21:1-21:20", + "dataType" : "{http://hl7.org/fhir}Immunization", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Immunization", + "type" : "Retrieve" + } + } + }, { + "localId" : "28", + "locator" : "24:1-27:31", + "name" : "Geographic Region of Vaccine Administration", + "context" : "Immunization", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "value" : [ "// @dataElement: Geographic Region where the vaccination was provided\n","define ","\"Geographic Region of Vaccine Administration\"",": \n " ] + }, { + "r" : "27", + "s" : [ { + "r" : "26", + "s" : [ { + "r" : "10", + "s" : [ { + "value" : [ "WCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "26", + "s" : [ { + "value" : [ "Official","(" ] + }, { + "r" : "25", + "s" : [ { + "s" : [ { + "r" : "12", + "s" : [ { + "r" : "11", + "s" : [ { + "r" : "11", + "s" : [ { + "value" : [ "[","Location","]" ] + } ] + } ] + }, { + "value" : [ " ","L" ] + } ] + } ] + }, { + "value" : [ " \n " ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "21", + "s" : [ { + "r" : "14", + "s" : [ { + "r" : "13", + "s" : [ { + "value" : [ "L" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "14", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "20", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "19", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "17", + "s" : [ { + "r" : "16", + "s" : [ { + "r" : "15", + "s" : [ { + "value" : [ "Immunization" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "16", + "s" : [ { + "value" : [ "location" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "18", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "24", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "23", + "s" : [ { + "r" : "22", + "s" : [ { + "value" : [ "L" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "address" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "state" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "27", + "locator" : "25:5-27:31", + "path" : "state", + "type" : "Property", + "source" : { + "localId" : "26", + "locator" : "25:5-27:25", + "name" : "Official", + "libraryName" : "WCom", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "25", + "locator" : "25:19-27:24", + "type" : "Query", + "source" : [ { + "localId" : "12", + "locator" : "25:19-25:30", + "alias" : "L", + "expression" : { + "localId" : "11", + "locator" : "25:19-25:28", + "dataType" : "{http://hl7.org/fhir}Location", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Location", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "21", + "locator" : "26:9-26:70", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "14", + "locator" : "26:15-26:18", + "path" : "id", + "scope" : "L", + "type" : "Property" + } ] + }, { + "localId" : "20", + "locator" : "26:22-26:70", + "type" : "Last", + "source" : { + "localId" : "19", + "locator" : "26:27-26:69", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "17", + "locator" : "26:33-26:63", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "16", + "locator" : "26:33-26:53", + "path" : "location", + "type" : "Property", + "source" : { + "localId" : "15", + "locator" : "26:33-26:44", + "name" : "Immunization", + "type" : "ExpressionRef" + } + } + } ] + }, + "separator" : { + "localId" : "18", + "locator" : "26:66-26:68", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } ] + }, + "return" : { + "localId" : "24", + "locator" : "27:9-27:24", + "expression" : { + "localId" : "23", + "locator" : "27:16-27:24", + "path" : "address", + "scope" : "L", + "type" : "Property" + } + } + } ] + } + } + }, { + "localId" : "36", + "locator" : "30:1-31:77", + "name" : "Dose Number of Vaccine Administration", + "context" : "Immunization", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "// @dataElement: The vaccination dose sequence\n","define ","\"Dose Number of Vaccine Administration\"",": \n " ] + }, { + "r" : "35", + "s" : [ { + "r" : "33", + "s" : [ { + "r" : "32", + "s" : [ { + "r" : "29", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "32", + "s" : [ { + "value" : [ "Only","(" ] + }, { + "r" : "31", + "s" : [ { + "r" : "30", + "s" : [ { + "value" : [ "Immunization" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "protocolApplied" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "doseNumber" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "34", + "s" : [ { + "value" : [ "FHIR",".","positiveInt" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "35", + "locator" : "31:5-31:77", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "33", + "locator" : "31:5-31:57", + "path" : "doseNumber", + "type" : "Property", + "source" : { + "localId" : "32", + "locator" : "31:5-31:46", + "name" : "Only", + "libraryName" : "IMMZCom", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "31", + "locator" : "31:18-31:45", + "path" : "protocolApplied", + "type" : "Property", + "source" : { + "localId" : "30", + "locator" : "31:18-31:29", + "name" : "Immunization", + "type" : "ExpressionRef" + } + } ] + } + }, + "asTypeSpecifier" : { + "localId" : "34", + "locator" : "31:62-31:77", + "name" : "{http://hl7.org/fhir}positiveInt", + "type" : "NamedTypeSpecifier" + } + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements.json new file mode 100644 index 0000000000..90f9fed8ba --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZCommonIzDataElements.json @@ -0,0 +1,99 @@ +{ + "resourceType" : "Library", + "id" : "IMMZCommonIzDataElements", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onWHOCommon
depends-onIMMZCommon
depends-onIMMZConcepts
depends-onIMMZVaccineLibrary
depends-onVaccine Administered Value Set

Parameters

Immunizationout01Immunization
Geographic Region of Vaccine Administrationout01string
Dose Number of Vaccine Administrationout01positiveInt

Data Requirements

Type: Location (Location)

Contents

text/cql

/**\r\n * Immunization Common Stratifiers by Patients as Context\r\n */\r\n\r\nlibrary IMMZCommonIzDataElements\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude FHIRHelpers version '4.0.1'\r\ninclude WHOCommon called WCom\r\ninclude IMMZCommon called IMMZCom\r\ninclude IMMZConcepts called IMMZc\r\ninclude IMMZVaccineLibrary called IMMZvl\r\n\r\ncodesystem "Vaccines Administered": 'http://hl7.org/fhir/ValueSet/vaccine-code'\r\n\r\n// Vaccines administered\r\ncode "BCG": 'BCG' from "Vaccines Administered" display 'BCG'\r\n//should this reference the BCG valueset from IMMZConcepts.cql? \r\n\r\ncontext Immunization\r\n\r\n// @dataElement: Geographic Region where the vaccination was provided\r\ndefine "Geographic Region of Vaccine Administration": \r\n    WCom.Official([Location] L \r\n        where L.id = Last(Split(Immunization.location.reference, '/'))\r\n        return L.address).state\r\n\r\n// @dataElement: The vaccination dose sequence\r\ndefine "Dose Number of Vaccine Administration": \r\n    IMMZCom.Only(Immunization.protocolApplied).doseNumber as FHIR.positiveInt\r\n

Content not shown - (application/elm+xml, size = 13Kb)

Content not shown - (application/elm+json, size = 22Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommonIzDataElements", + "version" : "0.1.0", + "name" : "IMMZCommonIzDataElements", + "title" : "IMMZCommonIzDataElements", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines common terminologies and functions used throughout the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZVaccineLibrary" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/ValueSet/vaccine-code" + }], + "parameter" : [{ + "name" : "Immunization", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Geographic Region of Vaccine Administration", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Dose Number of Vaccine Administration", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "positiveInt" + }], + "dataRequirement" : [{ + "type" : "Location", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Location"] + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoqDQogKiBJbW11bml6YXRpb24gQ29tbW9uIFN0cmF0aWZpZXJzIGJ5IFBhdGllbnRzIGFzIENvbnRleHQNCiAqLw0KDQpsaWJyYXJ5IElNTVpDb21tb25JekRhdGFFbGVtZW50cw0KDQp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJw0KDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJw0KaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDb20NCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgSU1NWkNvbQ0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQppbmNsdWRlIElNTVpWYWNjaW5lTGlicmFyeSBjYWxsZWQgSU1NWnZsDQoNCmNvZGVzeXN0ZW0gIlZhY2NpbmVzIEFkbWluaXN0ZXJlZCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3ZhY2NpbmUtY29kZScNCg0KLy8gVmFjY2luZXMgYWRtaW5pc3RlcmVkDQpjb2RlICJCQ0ciOiAnQkNHJyBmcm9tICJWYWNjaW5lcyBBZG1pbmlzdGVyZWQiIGRpc3BsYXkgJ0JDRycNCi8vc2hvdWxkIHRoaXMgcmVmZXJlbmNlIHRoZSBCQ0cgdmFsdWVzZXQgZnJvbSBJTU1aQ29uY2VwdHMuY3FsPyANCg0KY29udGV4dCBJbW11bml6YXRpb24NCg0KLy8gQGRhdGFFbGVtZW50OiBHZW9ncmFwaGljIFJlZ2lvbiB3aGVyZSB0aGUgdmFjY2luYXRpb24gd2FzIHByb3ZpZGVkDQpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIG9mIFZhY2NpbmUgQWRtaW5pc3RyYXRpb24iOiANCiAgICBXQ29tLk9mZmljaWFsKFtMb2NhdGlvbl0gTCANCiAgICAgICAgd2hlcmUgTC5pZCA9IExhc3QoU3BsaXQoSW1tdW5pemF0aW9uLmxvY2F0aW9uLnJlZmVyZW5jZSwgJy8nKSkNCiAgICAgICAgcmV0dXJuIEwuYWRkcmVzcykuc3RhdGUNCg0KLy8gQGRhdGFFbGVtZW50OiBUaGUgdmFjY2luYXRpb24gZG9zZSBzZXF1ZW5jZQ0KZGVmaW5lICJEb3NlIE51bWJlciBvZiBWYWNjaW5lIEFkbWluaXN0cmF0aW9uIjogDQogICAgSU1NWkNvbS5Pbmx5KEltbXVuaXphdGlvbi5wcm90b2NvbEFwcGxpZWQpLmRvc2VOdW1iZXIgYXMgRkhJUi5wb3NpdGl2ZUludA0K" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICA8YTpzPi8qKgogKiBJbW11bml6YXRpb24gQ29tbW9uIFN0cmF0aWZpZXJzIGJ5IFBhdGllbnRzIGFzIENvbnRleHQKICovCmxpYnJhcnkgSU1NWkNvbW1vbkl6RGF0YUVsZW1lbnRzPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aQ29tbW9uSXpEYXRhRWxlbWVudHMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iNzoxLTc6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI5OjEtOTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSIxMDoxLTEwOjI5IiBsb2NhbElkZW50aWZpZXI9IldDb20iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIFdDb208L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iMTE6MS0xMTozMyIgbG9jYWxJZGVudGlmaWVyPSJJTU1aQ29tIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpDb208L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iMTI6MS0xMjozMyIgbG9jYWxJZGVudGlmaWVyPSJJTU1aYyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWmM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTM6MS0xMzo0MCIgbG9jYWxJZGVudGlmaWVyPSJJTU1admwiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aVmFjY2luZUxpYnJhcnkiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpWYWNjaW5lTGlicmFyeTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVp2bDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE1OjEtMTU6NzkiIG5hbWU9IlZhY2NpbmVzIEFkbWluaXN0ZXJlZCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvdmFjY2luZS1jb2RlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtWYWNjaW5lcyBBZG1pbmlzdGVyZWQmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3ZhY2NpbmUtY29kZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxODoxLTE4OjYwIiBuYW1lPSJCQ0ciIGlkPSJCQ0ciIGRpc3BsYXk9IkJDRyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPi8vIFZhY2NpbmVzIGFkbWluaXN0ZXJlZApjb2RlICZxdW90O0JDRyZxdW90OzogJ0JDRycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtWYWNjaW5lcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JDRyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iOCIgbG9jYXRvcj0iMTg6MjQtMTg6NDYiIG5hbWU9IlZhY2NpbmVzIEFkbWluaXN0ZXJlZCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjE6MS0yMToyMCIgbmFtZT0iSW1tdW5pemF0aW9uIiBjb250ZXh0PSJJbW11bml6YXRpb24iPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxOjEtMjE6MjAiIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjI0OjEtMjc6MzEiIG5hbWU9Ikdlb2dyYXBoaWMgUmVnaW9uIG9mIFZhY2NpbmUgQWRtaW5pc3RyYXRpb24iIGNvbnRleHQ9IkltbXVuaXphdGlvbiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBAZGF0YUVsZW1lbnQ6IEdlb2dyYXBoaWMgUmVnaW9uIHdoZXJlIHRoZSB2YWNjaW5hdGlvbiB3YXMgcHJvdmlkZWQKZGVmaW5lICZxdW90O0dlb2dyYXBoaWMgUmVnaW9uIG9mIFZhY2NpbmUgQWRtaW5pc3RyYXRpb24mcXVvdDs6IAogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+V0NvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9mZmljaWFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTG9jYXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5MPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TcGxpdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbW11bml6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicvJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFkZHJlc3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIyNTo1LTI3OjMxIiBwYXRoPSJzdGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNiIgbG9jYXRvcj0iMjU6NS0yNzoyNSIgbmFtZT0iT2ZmaWNpYWwiIGxpYnJhcnlOYW1lPSJXQ29tIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMjU6MTktMjc6MjQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjI1OjE5LTI1OjMwIiBhbGlhcz0iTCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIyNToxOS0yNToyOCIgZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Mb2NhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjI2OjktMjY6NzAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIyNjoxNS0yNjoxOCIgcGF0aD0iaWQiIHNjb3BlPSJMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjY6MjItMjY6NzAiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjY6MjctMjY6NjkiIHhzaTp0eXBlPSJTcGxpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIyNjozMy0yNjo2MyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNjozMy0yNjo1MyIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI2OjMzLTI2OjQ0IiBuYW1lPSJJbW11bml6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMjY6NjYtMjY6NjgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIyNzo5LTI3OjI0Ij4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjI3OjE2LTI3OjI0IiBwYXRoPSJhZGRyZXNzIiBzY29wZT0iTCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSIzMDoxLTMxOjc3IiBuYW1lPSJEb3NlIE51bWJlciBvZiBWYWNjaW5lIEFkbWluaXN0cmF0aW9uIiBjb250ZXh0PSJJbW11bml6YXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gQGRhdGFFbGVtZW50OiBUaGUgdmFjY2luYXRpb24gZG9zZSBzZXF1ZW5jZQpkZWZpbmUgJnF1b3Q7RG9zZSBOdW1iZXIgb2YgVmFjY2luZSBBZG1pbmlzdHJhdGlvbiZxdW90OzogCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9ubHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbW11bml6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wcm90b2NvbEFwcGxpZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9zZU51bWJlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnBvc2l0aXZlSW50PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjMxOjUtMzE6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSIzMTo1LTMxOjU3IiBwYXRoPSJkb3NlTnVtYmVyIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSIzMTo1LTMxOjQ2IiBuYW1lPSJPbmx5IiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjMxOjE4LTMxOjQ1IiBwYXRoPSJwcm90b2NvbEFwcGxpZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjMxOjE4LTMxOjI5IiBuYW1lPSJJbW11bml6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNCIgbG9jYXRvcj0iMzE6NjItMzE6NzciIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMzYiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogSW1tdW5pemF0aW9uIENvbW1vbiBTdHJhdGlmaWVycyBieSBQYXRpZW50cyBhcyBDb250ZXh0XG4gKi9cbiIsImxpYnJhcnkgSU1NWkNvbW1vbkl6RGF0YUVsZW1lbnRzIiBdCiAgICAgICAgICAgIH0gXQogICAgICAgICB9CiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIklNTVpDb21tb25JekRhdGFFbGVtZW50cyIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTA6MS0xMDoyOSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIldDb20iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1dIT0NvbW1vbiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJXSE9Db21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiV0NvbSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMToxLTExOjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbW1vbiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MS0xMjozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpjIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOjEtMTM6NDAiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1admwiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpWYWNjaW5lTGlicmFyeSIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aVmFjY2luZUxpYnJhcnkiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSU1NWnZsIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVTeXN0ZW1zIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MS0xNTo3OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJWYWNjaW5lcyBBZG1pbmlzdGVyZWQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvdmFjY2luZS1jb2RlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiVmFjY2luZXMgQWRtaW5pc3RlcmVkXCIiLCI6ICIsIidodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3ZhY2NpbmUtY29kZSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODoxLTE4OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJDRyIsCiAgICAgICAgICAgICJpZCIgOiAiQkNHIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkJDRyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gVmFjY2luZXMgYWRtaW5pc3RlcmVkXG4iLCJjb2RlICIsIlwiQkNHXCIiLCI6ICIsIidCQ0cnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiVmFjY2luZXMgQWRtaW5pc3RlcmVkXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidCQ0cnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODoyNC0xODo0NiIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJWYWNjaW5lcyBBZG1pbmlzdGVyZWQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjEtMjE6MjAiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIkltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMToxLTIxOjIwIiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0ltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OjEtMjc6MzEiLAogICAgICAgICAgICAibmFtZSIgOiAiR2VvZ3JhcGhpYyBSZWdpb24gb2YgVmFjY2luZSBBZG1pbmlzdHJhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJJbW11bml6YXRpb24iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBAZGF0YUVsZW1lbnQ6IEdlb2dyYXBoaWMgUmVnaW9uIHdoZXJlIHRoZSB2YWNjaW5hdGlvbiB3YXMgcHJvdmlkZWRcbiIsImRlZmluZSAiLCJcIkdlb2dyYXBoaWMgUmVnaW9uIG9mIFZhY2NpbmUgQWRtaW5pc3RyYXRpb25cIiIsIjogXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9mZmljaWFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJMb2NhdGlvbiIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTcGxpdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW1tdW5pemF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJsb2NhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJlZmVyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFkZHJlc3MiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6NS0yNzozMSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6NS0yNzoyNSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPZmZpY2lhbCIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiV0NvbSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MTktMjc6MjQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MTktMjU6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkwiLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNToxOS0yNToyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TG9jYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0xvY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjo5LTI2OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjE1LTI2OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJMIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MjItMjY6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MjctMjY6NjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjMzLTI2OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MzMtMjY6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG9jYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjMzLTI2OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6NjYtMjY6NjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6OS0yNzoyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OjE2LTI3OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFkZHJlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjEtMzE6NzciLAogICAgICAgICAgICAibmFtZSIgOiAiRG9zZSBOdW1iZXIgb2YgVmFjY2luZSBBZG1pbmlzdHJhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJJbW11bml6YXRpb24iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBAZGF0YUVsZW1lbnQ6IFRoZSB2YWNjaW5hdGlvbiBkb3NlIHNlcXVlbmNlXG4iLCJkZWZpbmUgIiwiXCJEb3NlIE51bWJlciBvZiBWYWNjaW5lIEFkbWluaXN0cmF0aW9uXCIiLCI6IFxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiT25seSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbW11bml6YXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInByb3RvY29sQXBwbGllZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkb3NlTnVtYmVyIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJwb3NpdGl2ZUludCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6NS0zMTo3NyIsCiAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOjUtMzE6NTciLAogICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zZU51bWJlciIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6NS0zMTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPbmx5IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aQ29tIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMToxOC0zMTo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJwcm90b2NvbEFwcGxpZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOjE4LTMxOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6NjItMzE6NzciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9cG9zaXRpdmVJbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts-2.json new file mode 100644 index 0000000000..1aacdf14ab --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts-2.json @@ -0,0 +1,625 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "40", + "s" : [ { + "value" : [ "","library IMMZConcepts" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZConcepts", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + } ] + }, + "codeSystems" : { + "def" : [ { + "localId" : "1", + "locator" : "5:1-5:53", + "name" : "ICD-10", + "id" : "http://hl7.org/fhir/sid/icd-10", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "// Code Systems\n//Probably can delete these once imported WHOConcepts\n","codesystem ","\"ICD-10\"",": ","'http://hl7.org/fhir/sid/icd-10'" ] + } ] + } + } ] + }, { + "localId" : "2", + "locator" : "6:1-6:48", + "name" : "SNOMED-CT", + "id" : "http://snomed.info/sct", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","codesystem ","\"SNOMED-CT\"",": ","'http://snomed.info/sct'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "7:1-7:38", + "name" : "LOINC", + "id" : "http://loinc.org", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","codesystem ","\"LOINC\"",": ","'http://loinc.org'" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "8:1-8:66", + "name" : "RxNorm", + "id" : "http://www.nlm.nih.gov/research/umls/rxnorm", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","codesystem ","\"RxNorm\"",": ","'http://www.nlm.nih.gov/research/umls/rxnorm'" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "9:1-9:49", + "name" : "CIEL", + "id" : "http://hl7.org/fhir/sid/ciel", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","codesystem ","\"CIEL\"",": ","'http://hl7.org/fhir/sid/ciel'" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "10:1-10:57", + "name" : "ICD-11", + "id" : "http://hl7.org/fhir/sid/icd-11/mms", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","codesystem ","\"ICD-11\"",": ","'http://hl7.org/fhir/sid/icd-11/mms'" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "11:1-11:77", + "name" : "ICHI", + "id" : "https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","codesystem ","\"ICHI\"",": ","'https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi'" ] + } ] + } + } ] + }, { + "localId" : "8", + "locator" : "12:1-12:50", + "name" : "ICF", + "id" : "http://hl7.org/fhir/sid/icf-nl", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","codesystem ","\"ICF\"",": ","'http://hl7.org/fhir/sid/icf-nl'" ] + } ] + } + } ] + }, { + "localId" : "9", + "locator" : "13:1-13:110", + "name" : "Extended Codes CodeSystem codes", + "id" : "http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "","codesystem ","\"Extended Codes CodeSystem codes\"",": ","'http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes'" ] + } ] + } + } ] + }, { + "localId" : "10", + "locator" : "15:1-15:89", + "name" : "IMMZ.C", + "id" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.C", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "value" : [ "","codesystem ","\"IMMZ.C\"",": ","'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.C'" ] + } ] + } + } ] + }, { + "localId" : "11", + "locator" : "16:1-16:91", + "name" : "IMMZ.D1", + "id" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D1", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "11", + "s" : [ { + "value" : [ "","codesystem ","\"IMMZ.D1\"",": ","'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D1'" ] + } ] + } + } ] + }, { + "localId" : "12", + "locator" : "17:1-17:91", + "name" : "IMMZ.D4", + "id" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D4", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "12", + "s" : [ { + "value" : [ "","codesystem ","\"IMMZ.D4\"",": ","'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D4'" ] + } ] + } + } ] + } ] + }, + "valueSets" : { + "def" : [ { + "localId" : "13", + "locator" : "20:1-20:71", + "name" : "WHO ATC", + "id" : "http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "13", + "s" : [ { + "value" : [ "//WHO ATC IPS Valueset\n","valueset ","\"WHO ATC\"",": ","'http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips'" ] + } ] + } + } ] + }, { + "localId" : "14", + "locator" : "23:1-23:113", + "name" : "Negative Result", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Negativetestresult-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "14", + "s" : [ { + "value" : [ "// General use ValueSets\n","valueset ","\"Negative Result\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/Negativetestresult-values'" ] + } ] + } + } ] + }, { + "localId" : "15", + "locator" : "24:1-24:113", + "name" : "Positive Result", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/PositiveTestResult-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "15", + "s" : [ { + "value" : [ "","valueset ","\"Positive Result\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/PositiveTestResult-values'" ] + } ] + } + } ] + }, { + "localId" : "16", + "locator" : "25:1-25:114", + "name" : "Immunocompromised", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Immunocompromised-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "16", + "s" : [ { + "value" : [ "","valueset ","\"Immunocompromised\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/Immunocompromised-values'" ] + } ] + } + } ] + }, { + "localId" : "17", + "locator" : "26:1-26:129", + "name" : "Patient birth weight observation value", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Birthweight-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "17", + "s" : [ { + "value" : [ "","valueset ","\"Patient birth weight observation value\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/Birthweight-values'" ] + } ] + } + } ] + }, { + "localId" : "18", + "locator" : "27:1-27:99", + "name" : "PretermBirth", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Preterm-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "18", + "s" : [ { + "value" : [ "","valueset ","\"PretermBirth\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/Preterm-values'" ] + } ] + } + } ] + }, { + "localId" : "19", + "locator" : "28:1-28:111", + "name" : "Live Attenuated", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/LiveAttenduatedVaccines", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "19", + "s" : [ { + "value" : [ "","valueset ","\"Live Attenuated\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/LiveAttenduatedVaccines'" ] + } ] + } + } ] + }, { + "localId" : "20", + "locator" : "32:1-32:99", + "name" : "HIV status", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/HIVstatus-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "20", + "s" : [ { + "value" : [ "//valueset \"Target Disease\": 'http://hl7.org/fhir/ValueSet/immunization-target-disease'\n","valueset ","\"HIV status\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/HIVstatus-values'" ] + } ] + } + } ] + }, { + "localId" : "21", + "locator" : "33:1-33:103", + "name" : "HIV status - HIV positive Choices", + "id" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de46", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "21", + "s" : [ { + "value" : [ "","valueset ","\"HIV status - HIV positive Choices\"",": ","'http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de46'" ] + } ] + } + } ] + }, { + "localId" : "22", + "locator" : "34:1-34:103", + "name" : "HIV status - HIV negative Choices", + "id" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de47", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "22", + "s" : [ { + "value" : [ "","valueset ","\"HIV status - HIV negative Choices\"",": ","'http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de47'" ] + } ] + } + } ] + }, { + "localId" : "23", + "locator" : "36:1-36:97", + "name" : "ARV Drugs", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/ARVDrugs-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "23", + "s" : [ { + "value" : [ "","valueset ","\"ARV Drugs\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/ARVDrugs-values'" ] + } ] + } + } ] + }, { + "localId" : "24", + "locator" : "40:1-40:95", + "name" : "MCV Vaccine", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE9", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "24", + "s" : [ { + "value" : [ "// Vaccine Value Sets\n","valueset ","\"MCV Vaccine\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE9'" ] + } ] + } + } ] + }, { + "localId" : "25", + "locator" : "43:1-43:95", + "name" : "BCG Vaccine", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "25", + "s" : [ { + "value" : [ "// Plugin is complaining about not finding these so that should be resolved, but here until it can be fixed\n","valueset ","\"BCG Vaccine\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1'" ] + } ] + } + } ] + }, { + "localId" : "26", + "locator" : "44:1-44:99", + "name" : "Cholera Vaccine", + "id" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "26", + "s" : [ { + "value" : [ "","valueset ","\"Cholera Vaccine\"",": ","'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2'" ] + } ] + } + } ] + } ] + }, + "codes" : { + "def" : [ { + "localId" : "28", + "locator" : "48:1-48:90", + "name" : "Adverse Event Severity", + "id" : "246112005", + "display" : "Severity (attribute)", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "value" : [ "","code ","\"Adverse Event Severity\"",": ","'246112005'"," from " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "\"SNOMED-CT\"" ] + } ] + }, { + "value" : [ " display ","'Severity (attribute)'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "27", + "locator" : "48:49-48:59", + "name" : "SNOMED-CT" + } + }, { + "localId" : "30", + "locator" : "49:1-49:95", + "name" : "Adverse Event Manifestation", + "id" : "246112005", + "display" : "Severity (attribute)", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "30", + "s" : [ { + "value" : [ "","code ","\"Adverse Event Manifestation\"",": ","'246112005'"," from " ] + }, { + "r" : "29", + "s" : [ { + "value" : [ "\"SNOMED-CT\"" ] + } ] + }, { + "value" : [ " display ","'Severity (attribute)'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "29", + "locator" : "49:54-49:64", + "name" : "SNOMED-CT" + } + }, { + "localId" : "32", + "locator" : "51:1-51:78", + "name" : "Currently Pregnant", + "id" : "DE161", + "display" : "Currently Pregnant", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "32", + "s" : [ { + "value" : [ "","code ","\"Currently Pregnant\"",": ","'DE161'"," from " ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "\"IMMZ.D4\"" ] + } ] + }, { + "value" : [ " display ","'Currently Pregnant'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "31", + "locator" : "51:41-51:49", + "name" : "IMMZ.D4" + } + }, { + "localId" : "34", + "locator" : "52:1-52:92", + "name" : "Severely immunosuppressed", + "id" : "DE165", + "display" : "Severely immunosuppressed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "34", + "s" : [ { + "value" : [ "","code ","\"Severely immunosuppressed\"",": ","'DE165'"," from " ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "\"IMMZ.D4\"" ] + } ] + }, { + "value" : [ " display ","'Severely immunosuppressed'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "33", + "locator" : "52:48-52:56", + "name" : "IMMZ.D4" + } + }, { + "localId" : "36", + "locator" : "53:1-53:108", + "name" : "History of anaphylactic reactions", + "id" : "DE166", + "display" : "History of anaphylactic reactions", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "","code ","\"History of anaphylactic reactions\"",": ","'DE166'"," from " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "\"IMMZ.D4\"" ] + } ] + }, { + "value" : [ " display ","'History of anaphylactic reactions'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "35", + "locator" : "53:56-53:64", + "name" : "IMMZ.D4" + } + }, { + "localId" : "38", + "locator" : "54:1-54:92", + "name" : "Severe allergic reactions", + "id" : "DE167", + "display" : "Severe allergic reactions", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "38", + "s" : [ { + "value" : [ "","code ","\"Severe allergic reactions\"",": ","'DE167'"," from " ] + }, { + "r" : "37", + "s" : [ { + "value" : [ "\"IMMZ.D4\"" ] + } ] + }, { + "value" : [ " display ","'Severe allergic reactions'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "37", + "locator" : "54:48-54:56", + "name" : "IMMZ.D4" + } + }, { + "localId" : "40", + "locator" : "55:1-55:92", + "name" : "Symptomatic HIV infection", + "id" : "DE168", + "display" : "Symptomatic HIV infection", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "40", + "s" : [ { + "value" : [ "","code ","\"Symptomatic HIV infection\"",": ","'DE168'"," from " ] + }, { + "r" : "39", + "s" : [ { + "value" : [ "\"IMMZ.D4\"" ] + } ] + }, { + "value" : [ " display ","'Symptomatic HIV infection'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "39", + "locator" : "55:48-55:56", + "name" : "IMMZ.D4" + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts.json new file mode 100644 index 0000000000..6a5d064152 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConcepts.json @@ -0,0 +1,150 @@ +{ + "resourceType" : "Library", + "id" : "IMMZConcepts", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onICD-10
depends-onSNOMED CT (all versions)
depends-onLogical Observation Identifiers, Names and Codes (LOINC)
depends-onRxNorm
depends-onhttp://hl7.org/fhir/sid/ciel
depends-onICD-11
depends-onhttps://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi
depends-onInternational Classification of Functioning, Disability and Health, Dutch Translation
depends-onhttp://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes
depends-onIMMZ.C CodeSystem for Data Elements
depends-onIMMZ.D1 CodeSystem for Data Elements
depends-onIMMZ.D4 CodeSystem for Check Contraindications Data Elements
depends-onhttp://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips
depends-onNegative Test Results
depends-onPositive Test Result valuest
depends-onImmunocompromised valueset
depends-onBirthweight valueset
depends-onhttp://smart.who.int/smart-immunizations-measles/ValueSet/Preterm-values
depends-onhttp://smart.who.int/smart-immunizations-measles/ValueSet/LiveAttenduatedVaccines
depends-onHIV status values
depends-onhttp://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de46
depends-onhttp://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de47
depends-onARV Drugs values
depends-onhttp://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE9
depends-onhttp://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1
depends-onhttp://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2

Contents

text/cql

library IMMZConcepts\r\n\r\n// Code Systems\r\n//Probably can delete these once imported WHOConcepts\r\ncodesystem "ICD-10": 'http://hl7.org/fhir/sid/icd-10'\r\ncodesystem "SNOMED-CT": 'http://snomed.info/sct'\r\ncodesystem "LOINC": 'http://loinc.org'\r\ncodesystem "RxNorm": 'http://www.nlm.nih.gov/research/umls/rxnorm'\r\ncodesystem "CIEL": 'http://hl7.org/fhir/sid/ciel'\r\ncodesystem "ICD-11": 'http://hl7.org/fhir/sid/icd-11/mms'\r\ncodesystem "ICHI": 'https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi'\r\ncodesystem "ICF": 'http://hl7.org/fhir/sid/icf-nl'\r\ncodesystem "Extended Codes CodeSystem codes": 'http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes'\r\n\r\ncodesystem "IMMZ.C": 'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.C'\r\ncodesystem "IMMZ.D1": 'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D1'\r\ncodesystem "IMMZ.D4": 'http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D4'\r\n\r\n//WHO ATC IPS Valueset\r\nvalueset "WHO ATC": 'http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips'\r\n\r\n// General use ValueSets \r\nvalueset "Negative Result": 'http://smart.who.int/smart-immunizations-measles/ValueSet/Negativetestresult-values'\r\nvalueset "Positive Result": 'http://smart.who.int/smart-immunizations-measles/ValueSet/PositiveTestResult-values'\r\nvalueset "Immunocompromised": 'http://smart.who.int/smart-immunizations-measles/ValueSet/Immunocompromised-values'\r\nvalueset "Patient birth weight observation value": 'http://smart.who.int/smart-immunizations-measles/ValueSet/Birthweight-values'\r\nvalueset "PretermBirth": 'http://smart.who.int/smart-immunizations-measles/ValueSet/Preterm-values'\r\nvalueset "Live Attenuated": 'http://smart.who.int/smart-immunizations-measles/ValueSet/LiveAttenduatedVaccines'\r\n\r\n//valueset "Target Disease": 'http://hl7.org/fhir/ValueSet/immunization-target-disease'\r\n\r\nvalueset "HIV status": 'http://smart.who.int/smart-immunizations-measles/ValueSet/HIVstatus-values'\r\nvalueset "HIV status - HIV positive Choices": 'http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de46'\r\nvalueset "HIV status - HIV negative Choices": 'http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de47'\r\n\r\nvalueset "ARV Drugs": 'http://smart.who.int/smart-immunizations-measles/ValueSet/ARVDrugs-values'\r\n\r\n// Vaccine Value Sets\r\n\r\nvalueset "MCV Vaccine": 'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE9'\r\n\r\n// Plugin is complaining about not finding these so that should be resolved, but here until it can be fixed\r\nvalueset "BCG Vaccine": 'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1'\r\nvalueset "Cholera Vaccine": 'http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2'\r\n\r\n\r\n\r\ncode "Adverse Event Severity": '246112005' from "SNOMED-CT" display 'Severity (attribute)'\r\ncode "Adverse Event Manifestation": '246112005' from "SNOMED-CT" display 'Severity (attribute)'\r\n\r\ncode "Currently Pregnant": 'DE161' from "IMMZ.D4" display 'Currently Pregnant'\r\ncode "Severely immunosuppressed": 'DE165' from "IMMZ.D4" display 'Severely immunosuppressed' \r\ncode "History of anaphylactic reactions": 'DE166' from "IMMZ.D4" display 'History of anaphylactic reactions'\r\ncode "Severe allergic reactions": 'DE167' from "IMMZ.D4" display 'Severe allergic reactions'\r\ncode "Symptomatic HIV infection": 'DE168' from "IMMZ.D4" display 'Symptomatic HIV infection'

Content not shown - (application/elm+xml, size = 15Kb)

Content not shown - (application/elm+json, size = 22Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts", + "version" : "0.1.0", + "name" : "IMMZConcepts", + "title" : "IMMZConcepts", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines concepts used throughout the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icd-10" + }, + { + "type" : "depends-on", + "resource" : "http://snomed.info/sct" + }, + { + "type" : "depends-on", + "resource" : "http://loinc.org" + }, + { + "type" : "depends-on", + "resource" : "http://www.nlm.nih.gov/research/umls/rxnorm" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/ciel" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icd-11/mms" + }, + { + "type" : "depends-on", + "resource" : "https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icf-nl" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.C" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/CodeSystem/IMMZ.D4" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Negativetestresult-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/PositiveTestResult-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Immunocompromised-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Birthweight-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/Preterm-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/LiveAttenduatedVaccines" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/HIVstatus-values" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de46" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de47" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/ARVDrugs-values" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE9" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBJTU1aQ29uY2VwdHMNCg0KLy8gQ29kZSBTeXN0ZW1zDQovL1Byb2JhYmx5IGNhbiBkZWxldGUgdGhlc2Ugb25jZSBpbXBvcnRlZCBXSE9Db25jZXB0cw0KY29kZXN5c3RlbSAiSUNELTEwIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMCcNCmNvZGVzeXN0ZW0gIlNOT01FRC1DVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycNCmNvZGVzeXN0ZW0gIlJ4Tm9ybSI6ICdodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtJw0KY29kZXN5c3RlbSAiQ0lFTCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9jaWVsJw0KY29kZXN5c3RlbSAiSUNELTExIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMS9tbXMnDQpjb2Rlc3lzdGVtICJJQ0hJIjogJ2h0dHBzOi8vbWl0ZWwuZGltaS51bml1ZC5pdC9pY2hpLyNodHRwOi8vaWQud2hvLmludC9pY2hpJw0KY29kZXN5c3RlbSAiSUNGIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZi1ubCcNCmNvZGVzeXN0ZW0gIkV4dGVuZGVkIENvZGVzIENvZGVTeXN0ZW0gY29kZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9Db2RlU3lzdGVtL2FuYy1jdXN0b20tY29kZXMnDQoNCmNvZGVzeXN0ZW0gIklNTVouQyI6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvQ29kZVN5c3RlbS9JTU1aLkMnDQpjb2Rlc3lzdGVtICJJTU1aLkQxIjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouRDEnDQpjb2Rlc3lzdGVtICJJTU1aLkQ0IjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouRDQnDQoNCi8vV0hPIEFUQyBJUFMgVmFsdWVzZXQNCnZhbHVlc2V0ICJXSE8gQVRDIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXYvaXBzL1ZhbHVlU2V0L3dob2F0Yy11di1pcHMnDQoNCi8vIEdlbmVyYWwgdXNlIFZhbHVlU2V0cyANCnZhbHVlc2V0ICJOZWdhdGl2ZSBSZXN1bHQiOiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L05lZ2F0aXZldGVzdHJlc3VsdC12YWx1ZXMnDQp2YWx1ZXNldCAiUG9zaXRpdmUgUmVzdWx0IjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9Qb3NpdGl2ZVRlc3RSZXN1bHQtdmFsdWVzJw0KdmFsdWVzZXQgIkltbXVub2NvbXByb21pc2VkIjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JbW11bm9jb21wcm9taXNlZC12YWx1ZXMnDQp2YWx1ZXNldCAiUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiOiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0JpcnRod2VpZ2h0LXZhbHVlcycNCnZhbHVlc2V0ICJQcmV0ZXJtQmlydGgiOiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L1ByZXRlcm0tdmFsdWVzJw0KdmFsdWVzZXQgIkxpdmUgQXR0ZW51YXRlZCI6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvTGl2ZUF0dGVuZHVhdGVkVmFjY2luZXMnDQoNCi8vdmFsdWVzZXQgIlRhcmdldCBEaXNlYXNlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvaW1tdW5pemF0aW9uLXRhcmdldC1kaXNlYXNlJw0KDQp2YWx1ZXNldCAiSElWIHN0YXR1cyI6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvSElWc3RhdHVzLXZhbHVlcycNCnZhbHVlc2V0ICJISVYgc3RhdHVzIC0gSElWIHBvc2l0aXZlIENob2ljZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0NicNCnZhbHVlc2V0ICJISVYgc3RhdHVzIC0gSElWIG5lZ2F0aXZlIENob2ljZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0NycNCg0KdmFsdWVzZXQgIkFSViBEcnVncyI6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvQVJWRHJ1Z3MtdmFsdWVzJw0KDQovLyBWYWNjaW5lIFZhbHVlIFNldHMNCg0KdmFsdWVzZXQgIk1DViBWYWNjaW5lIjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFOScNCg0KLy8gUGx1Z2luIGlzIGNvbXBsYWluaW5nIGFib3V0IG5vdCBmaW5kaW5nIHRoZXNlIHNvIHRoYXQgc2hvdWxkIGJlIHJlc29sdmVkLCBidXQgaGVyZSB1bnRpbCBpdCBjYW4gYmUgZml4ZWQNCnZhbHVlc2V0ICJCQ0cgVmFjY2luZSI6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvSU1NWi5BMS5ERTEnDQp2YWx1ZXNldCAiQ2hvbGVyYSBWYWNjaW5lIjogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFMicNCg0KDQoNCmNvZGUgIkFkdmVyc2UgRXZlbnQgU2V2ZXJpdHkiOiAnMjQ2MTEyMDA1JyBmcm9tICJTTk9NRUQtQ1QiIGRpc3BsYXkgJ1NldmVyaXR5IChhdHRyaWJ1dGUpJw0KY29kZSAiQWR2ZXJzZSBFdmVudCBNYW5pZmVzdGF0aW9uIjogJzI0NjExMjAwNScgZnJvbSAiU05PTUVELUNUIiBkaXNwbGF5ICdTZXZlcml0eSAoYXR0cmlidXRlKScNCg0KY29kZSAiQ3VycmVudGx5IFByZWduYW50IjogJ0RFMTYxJyBmcm9tICJJTU1aLkQ0IiBkaXNwbGF5ICdDdXJyZW50bHkgUHJlZ25hbnQnDQpjb2RlICJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIjogJ0RFMTY1JyBmcm9tICJJTU1aLkQ0IiBkaXNwbGF5ICdTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkJyANCmNvZGUgIkhpc3Rvcnkgb2YgYW5hcGh5bGFjdGljIHJlYWN0aW9ucyI6ICdERTE2NicgZnJvbSAiSU1NWi5ENCIgZGlzcGxheSAnSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zJw0KY29kZSAiU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyI6ICdERTE2NycgZnJvbSAiSU1NWi5ENCIgZGlzcGxheSAnU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucycNCmNvZGUgIlN5bXB0b21hdGljIEhJViBpbmZlY3Rpb24iOiAnREUxNjgnIGZyb20gIklNTVouRDQiIGRpc3BsYXkgJ1N5bXB0b21hdGljIEhJViBpbmZlY3Rpb24n" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICA8YTpzPmxpYnJhcnkgSU1NWkNvbmNlcHRzPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aQ29uY2VwdHMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgIDwvdXNpbmdzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iNToxLTU6NTMiIG5hbWU9IklDRC0xMCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPi8vIENvZGUgU3lzdGVtcwovL1Byb2JhYmx5IGNhbiBkZWxldGUgdGhlc2Ugb25jZSBpbXBvcnRlZCBXSE9Db25jZXB0cwpjb2Rlc3lzdGVtICZxdW90O0lDRC0xMCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNjoxLTY6NDgiIG5hbWU9IlNOT01FRC1DVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRC1DVCZxdW90OzogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9Ijc6MS03OjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0xPSU5DJnF1b3Q7OiAnaHR0cDovL2xvaW5jLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iODoxLTg6NjYiIG5hbWU9IlJ4Tm9ybSIgaWQ9Imh0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1J4Tm9ybSZxdW90OzogJ2h0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0nPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijk6MS05OjQ5IiBuYW1lPSJDSUVMIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvY2llbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7Q0lFTCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2NpZWwnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEwOjEtMTA6NTciIG5hbWU9IklDRC0xMSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMS9tbXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0lDRC0xMSZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMS9tbXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjExOjEtMTE6NzciIG5hbWU9IklDSEkiIGlkPSJodHRwczovL21pdGVsLmRpbWkudW5pdWQuaXQvaWNoaS8jaHR0cDovL2lkLndoby5pbnQvaWNoaSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SUNISSZxdW90OzogJ2h0dHBzOi8vbWl0ZWwuZGltaS51bml1ZC5pdC9pY2hpLyNodHRwOi8vaWQud2hvLmludC9pY2hpJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4IiBsb2NhdG9yPSIxMjoxLTEyOjUwIiBuYW1lPSJJQ0YiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2YtbmwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0lDRiZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZi1ubCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMTM6MS0xMzoxMTAiIG5hbWU9IkV4dGVuZGVkIENvZGVzIENvZGVTeXN0ZW0gY29kZXMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9hbmMtY2RzL0NvZGVTeXN0ZW0vYW5jLWN1c3RvbS1jb2RlcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RXh0ZW5kZWQgQ29kZXMgQ29kZVN5c3RlbSBjb2RlcyZxdW90OzogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvQ29kZVN5c3RlbS9hbmMtY3VzdG9tLWNvZGVzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMCIgbG9jYXRvcj0iMTU6MS0xNTo4OSIgbmFtZT0iSU1NWi5DIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0NvZGVTeXN0ZW0vSU1NWi5DIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SU1NWi5DJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0NvZGVTeXN0ZW0vSU1NWi5DJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMTY6MS0xNjo5MSIgbmFtZT0iSU1NWi5EMSIgaWQ9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouRDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtJTU1aLkQxJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0NvZGVTeXN0ZW0vSU1NWi5EMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjE3OjEtMTc6OTEiIG5hbWU9IklNTVouRDQiIGlkPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvQ29kZVN5c3RlbS9JTU1aLkQ0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SU1NWi5ENCZxdW90OzogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouRDQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyMDoxLTIwOjcxIiBuYW1lPSJXSE8gQVRDIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci91di9pcHMvVmFsdWVTZXQvd2hvYXRjLXV2LWlwcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz4vL1dITyBBVEMgSVBTIFZhbHVlc2V0CnZhbHVlc2V0ICZxdW90O1dITyBBVEMmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2lwcy9WYWx1ZVNldC93aG9hdGMtdXYtaXBzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMjM6MS0yMzoxMTMiIG5hbWU9Ik5lZ2F0aXZlIFJlc3VsdCIgaWQ9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9OZWdhdGl2ZXRlc3RyZXN1bHQtdmFsdWVzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPi8vIEdlbmVyYWwgdXNlIFZhbHVlU2V0cwp2YWx1ZXNldCAmcXVvdDtOZWdhdGl2ZSBSZXN1bHQmcXVvdDs6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvTmVnYXRpdmV0ZXN0cmVzdWx0LXZhbHVlcyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI0OjEtMjQ6MTEzIiBuYW1lPSJQb3NpdGl2ZSBSZXN1bHQiIGlkPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvUG9zaXRpdmVUZXN0UmVzdWx0LXZhbHVlcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQb3NpdGl2ZSBSZXN1bHQmcXVvdDs6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvUG9zaXRpdmVUZXN0UmVzdWx0LXZhbHVlcyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI1OjEtMjU6MTE0IiBuYW1lPSJJbW11bm9jb21wcm9taXNlZCIgaWQ9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JbW11bm9jb21wcm9taXNlZC12YWx1ZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SW1tdW5vY29tcHJvbWlzZWQmcXVvdDs6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvSW1tdW5vY29tcHJvbWlzZWQtdmFsdWVzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjY6MS0yNjoxMjkiIG5hbWU9IlBhdGllbnQgYmlydGggd2VpZ2h0IG9ic2VydmF0aW9uIHZhbHVlIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0JpcnRod2VpZ2h0LXZhbHVlcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IGJpcnRoIHdlaWdodCBvYnNlcnZhdGlvbiB2YWx1ZSZxdW90OzogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9CaXJ0aHdlaWdodC12YWx1ZXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyNzoxLTI3Ojk5IiBuYW1lPSJQcmV0ZXJtQmlydGgiIGlkPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvUHJldGVybS12YWx1ZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UHJldGVybUJpcnRoJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L1ByZXRlcm0tdmFsdWVzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjg6MS0yODoxMTEiIG5hbWU9IkxpdmUgQXR0ZW51YXRlZCIgaWQ9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9MaXZlQXR0ZW5kdWF0ZWRWYWNjaW5lcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMaXZlIEF0dGVudWF0ZWQmcXVvdDs6ICdodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvTGl2ZUF0dGVuZHVhdGVkVmFjY2luZXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIzMjoxLTMyOjk5IiBuYW1lPSJISVYgc3RhdHVzIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0hJVnN0YXR1cy12YWx1ZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+Ly92YWx1ZXNldCAmcXVvdDtUYXJnZXQgRGlzZWFzZSZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvaW1tdW5pemF0aW9uLXRhcmdldC1kaXNlYXNlJwp2YWx1ZXNldCAmcXVvdDtISVYgc3RhdHVzJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0hJVnN0YXR1cy12YWx1ZXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIzMzoxLTMzOjEwMyIgbmFtZT0iSElWIHN0YXR1cyAtIEhJViBwb3NpdGl2ZSBDaG9pY2VzIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0NiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtISVYgc3RhdHVzIC0gSElWIHBvc2l0aXZlIENob2ljZXMmcXVvdDs6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9hbmMtY2RzL1ZhbHVlU2V0L2FuYy1iOS1kZTQ2JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMzQ6MS0zNDoxMDMiIG5hbWU9IkhJViBzdGF0dXMgLSBISVYgbmVnYXRpdmUgQ2hvaWNlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvVmFsdWVTZXQvYW5jLWI5LWRlNDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SElWIHN0YXR1cyAtIEhJViBuZWdhdGl2ZSBDaG9pY2VzJnF1b3Q7OiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0Nyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjM2OjEtMzY6OTciIG5hbWU9IkFSViBEcnVncyIgaWQ9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9BUlZEcnVncy12YWx1ZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7QVJWIERydWdzJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0FSVkRydWdzLXZhbHVlcyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQiIGxvY2F0b3I9IjQwOjEtNDA6OTUiIG5hbWU9Ik1DViBWYWNjaW5lIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREU5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICA8YTpzPi8vIFZhY2NpbmUgVmFsdWUgU2V0cwp2YWx1ZXNldCAmcXVvdDtNQ1YgVmFjY2luZSZxdW90OzogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjQzOjEtNDM6OTUiIG5hbWU9IkJDRyBWYWNjaW5lIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREUxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPi8vIFBsdWdpbiBpcyBjb21wbGFpbmluZyBhYm91dCBub3QgZmluZGluZyB0aGVzZSBzbyB0aGF0IHNob3VsZCBiZSByZXNvbHZlZCwgYnV0IGhlcmUgdW50aWwgaXQgY2FuIGJlIGZpeGVkCnZhbHVlc2V0ICZxdW90O0JDRyBWYWNjaW5lJnF1b3Q7OiAnaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREUxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNiIgbG9jYXRvcj0iNDQ6MS00NDo5OSIgbmFtZT0iQ2hvbGVyYSBWYWNjaW5lIiBpZD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREUyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Nob2xlcmEgVmFjY2luZSZxdW90OzogJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFMic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjQ4OjEtNDg6OTAiIG5hbWU9IkFkdmVyc2UgRXZlbnQgU2V2ZXJpdHkiIGlkPSIyNDYxMTIwMDUiIGRpc3BsYXk9IlNldmVyaXR5IChhdHRyaWJ1dGUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QWR2ZXJzZSBFdmVudCBTZXZlcml0eSZxdW90OzogJzI0NjExMjAwNScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U05PTUVELUNUJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdTZXZlcml0eSAoYXR0cmlidXRlKSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjQ4OjQ5LTQ4OjU5IiBuYW1lPSJTTk9NRUQtQ1QiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjQ5OjEtNDk6OTUiIG5hbWU9IkFkdmVyc2UgRXZlbnQgTWFuaWZlc3RhdGlvbiIgaWQ9IjI0NjExMjAwNSIgZGlzcGxheT0iU2V2ZXJpdHkgKGF0dHJpYnV0ZSkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtBZHZlcnNlIEV2ZW50IE1hbmlmZXN0YXRpb24mcXVvdDs6ICcyNDYxMTIwMDUnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NOT01FRC1DVCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnU2V2ZXJpdHkgKGF0dHJpYnV0ZSknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSI0OTo1NC00OTo2NCIgbmFtZT0iU05PTUVELUNUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSI1MToxLTUxOjc4IiBuYW1lPSJDdXJyZW50bHkgUHJlZ25hbnQiIGlkPSJERTE2MSIgZGlzcGxheT0iQ3VycmVudGx5IFByZWduYW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7Q3VycmVudGx5IFByZWduYW50JnF1b3Q7OiAnREUxNjEnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lNTVouRDQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0N1cnJlbnRseSBQcmVnbmFudCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjUxOjQxLTUxOjQ5IiBuYW1lPSJJTU1aLkQ0Ii8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI1MjoxLTUyOjkyIiBuYW1lPSJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIiBpZD0iREUxNjUiIGRpc3BsYXk9IlNldmVyZWx5IGltbXVub3N1cHByZXNzZWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkJnF1b3Q7OiAnREUxNjUnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lNTVouRDQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1NldmVyZWx5IGltbXVub3N1cHByZXNzZWQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSI1Mjo0OC01Mjo1NiIgbmFtZT0iSU1NWi5ENCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNiIgbG9jYXRvcj0iNTM6MS01MzoxMDgiIG5hbWU9Ikhpc3Rvcnkgb2YgYW5hcGh5bGFjdGljIHJlYWN0aW9ucyIgaWQ9IkRFMTY2IiBkaXNwbGF5PSJIaXN0b3J5IG9mIGFuYXBoeWxhY3RpYyByZWFjdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtIaXN0b3J5IG9mIGFuYXBoeWxhY3RpYyByZWFjdGlvbnMmcXVvdDs6ICdERTE2NicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SU1NWi5ENCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNTM6NTYtNTM6NjQiIG5hbWU9IklNTVouRDQiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjU0OjEtNTQ6OTIiIG5hbWU9IlNldmVyZSBhbGxlcmdpYyByZWFjdGlvbnMiIGlkPSJERTE2NyIgZGlzcGxheT0iU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O1NldmVyZSBhbGxlcmdpYyByZWFjdGlvbnMmcXVvdDs6ICdERTE2NycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SU1NWi5ENCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnU2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzciIGxvY2F0b3I9IjU0OjQ4LTU0OjU2IiBuYW1lPSJJTU1aLkQ0Ii8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSI1NToxLTU1OjkyIiBuYW1lPSJTeW1wdG9tYXRpYyBISVYgaW5mZWN0aW9uIiBpZD0iREUxNjgiIGRpc3BsYXk9IlN5bXB0b21hdGljIEhJViBpbmZlY3Rpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtTeW1wdG9tYXRpYyBISVYgaW5mZWN0aW9uJnF1b3Q7OiAnREUxNjgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lNTVouRDQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1N5bXB0b21hdGljIEhJViBpbmZlY3Rpb24nPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSI1NTo0OC01NTo1NiIgbmFtZT0iSU1NWi5ENCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KPC9saWJyYXJ5Pgo=" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNDAiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImxpYnJhcnkgSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgIH0gXQogICAgICAgICB9CiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIklNTVpDb25jZXB0cyIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb2RlU3lzdGVtcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjUzIiwKICAgICAgICAgICAgIm5hbWUiIDogIklDRC0xMCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNkLTEwIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvLyBDb2RlIFN5c3RlbXNcbi8vUHJvYmFibHkgY2FuIGRlbGV0ZSB0aGVzZSBvbmNlIGltcG9ydGVkIFdIT0NvbmNlcHRzXG4iLCJjb2Rlc3lzdGVtICIsIlwiSUNELTEwXCIiLCI6ICIsIidodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTAnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNOT01FRC1DVCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3Nub21lZC5pbmZvL3NjdCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIlNOT01FRC1DVFwiIiwiOiAiLCInaHR0cDovL3Nub21lZC5pbmZvL3NjdCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzoxLTc6MzgiLAogICAgICAgICAgICAibmFtZSIgOiAiTE9JTkMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9sb2luYy5vcmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJMT0lOQ1wiIiwiOiAiLCInaHR0cDovL2xvaW5jLm9yZyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODoxLTg6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiUnhOb3JtIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiUnhOb3JtXCIiLCI6ICIsIidodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTo0OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDSUVMIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9jaWVsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiQ0lFTFwiIiwiOiAiLCInaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvY2llbCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTA6MS0xMDo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJQ0QtMTEiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMS9tbXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJJQ0QtMTFcIiIsIjogIiwiJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMS9tbXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTE6NzciLAogICAgICAgICAgICAibmFtZSIgOiAiSUNISSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cHM6Ly9taXRlbC5kaW1pLnVuaXVkLml0L2ljaGkvI2h0dHA6Ly9pZC53aG8uaW50L2ljaGkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJJQ0hJXCIiLCI6ICIsIidodHRwczovL21pdGVsLmRpbWkudW5pdWQuaXQvaWNoaS8jaHR0cDovL2lkLndoby5pbnQvaWNoaSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MS0xMjo1MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJQ0YiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZi1ubCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIklDRlwiIiwiOiAiLCInaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNmLW5sJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzoxLTEzOjExMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFeHRlbmRlZCBDb2RlcyBDb2RlU3lzdGVtIGNvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9hbmMtY2RzL0NvZGVTeXN0ZW0vYW5jLWN1c3RvbS1jb2RlcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIkV4dGVuZGVkIENvZGVzIENvZGVTeXN0ZW0gY29kZXNcIiIsIjogIiwiJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvQ29kZVN5c3RlbS9hbmMtY3VzdG9tLWNvZGVzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MS0xNTo4OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJTU1aLkMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouQyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJJTU1aLkNcIiIsIjogIiwiJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouQyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6OTEiLAogICAgICAgICAgICAibmFtZSIgOiAiSU1NWi5EMSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0NvZGVTeXN0ZW0vSU1NWi5EMSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJJTU1aLkQxXCIiLCI6ICIsIidodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvQ29kZVN5c3RlbS9JTU1aLkQxJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTc6MS0xNzo5MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJTU1aLkQ0IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvQ29kZVN5c3RlbS9JTU1aLkQ0IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIklNTVouRDRcIiIsIjogIiwiJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9Db2RlU3lzdGVtL0lNTVouRDQnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInZhbHVlU2V0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDoxLTIwOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIldITyBBVEMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvdXYvaXBzL1ZhbHVlU2V0L3dob2F0Yy11di1pcHMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvL1dITyBBVEMgSVBTIFZhbHVlc2V0XG4iLCJ2YWx1ZXNldCAiLCJcIldITyBBVENcIiIsIjogIiwiJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXYvaXBzL1ZhbHVlU2V0L3dob2F0Yy11di1pcHMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxLTIzOjExMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOZWdhdGl2ZSBSZXN1bHQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9OZWdhdGl2ZXRlc3RyZXN1bHQtdmFsdWVzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gR2VuZXJhbCB1c2UgVmFsdWVTZXRzXG4iLCJ2YWx1ZXNldCAiLCJcIk5lZ2F0aXZlIFJlc3VsdFwiIiwiOiAiLCInaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L05lZ2F0aXZldGVzdHJlc3VsdC12YWx1ZXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoxLTI0OjExMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQb3NpdGl2ZSBSZXN1bHQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9Qb3NpdGl2ZVRlc3RSZXN1bHQtdmFsdWVzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidmFsdWVzZXQgIiwiXCJQb3NpdGl2ZSBSZXN1bHRcIiIsIjogIiwiJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9Qb3NpdGl2ZVRlc3RSZXN1bHQtdmFsdWVzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNToxMTQiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5vY29tcHJvbWlzZWQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JbW11bm9jb21wcm9taXNlZC12YWx1ZXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ2YWx1ZXNldCAiLCJcIkltbXVub2NvbXByb21pc2VkXCIiLCI6ICIsIidodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvSW1tdW5vY29tcHJvbWlzZWQtdmFsdWVzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MS0yNjoxMjkiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBiaXJ0aCB3ZWlnaHQgb2JzZXJ2YXRpb24gdmFsdWUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9CaXJ0aHdlaWdodC12YWx1ZXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ2YWx1ZXNldCAiLCJcIlBhdGllbnQgYmlydGggd2VpZ2h0IG9ic2VydmF0aW9uIHZhbHVlXCIiLCI6ICIsIidodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvQmlydGh3ZWlnaHQtdmFsdWVzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6MS0yNzo5OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmV0ZXJtQmlydGgiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9QcmV0ZXJtLXZhbHVlcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInZhbHVlc2V0ICIsIlwiUHJldGVybUJpcnRoXCIiLCI6ICIsIidodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvUHJldGVybS12YWx1ZXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODoxLTI4OjExMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJMaXZlIEF0dGVudWF0ZWQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9MaXZlQXR0ZW5kdWF0ZWRWYWNjaW5lcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInZhbHVlc2V0ICIsIlwiTGl2ZSBBdHRlbnVhdGVkXCIiLCI6ICIsIidodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvTGl2ZUF0dGVuZHVhdGVkVmFjY2luZXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjoxLTMyOjk5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkhJViBzdGF0dXMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9ISVZzdGF0dXMtdmFsdWVzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy92YWx1ZXNldCBcIlRhcmdldCBEaXNlYXNlXCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L2ltbXVuaXphdGlvbi10YXJnZXQtZGlzZWFzZSdcbiIsInZhbHVlc2V0ICIsIlwiSElWIHN0YXR1c1wiIiwiOiAiLCInaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0hJVnN0YXR1cy12YWx1ZXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzoxLTMzOjEwMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJISVYgc3RhdHVzIC0gSElWIHBvc2l0aXZlIENob2ljZXMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvVmFsdWVTZXQvYW5jLWI5LWRlNDYiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ2YWx1ZXNldCAiLCJcIkhJViBzdGF0dXMgLSBISVYgcG9zaXRpdmUgQ2hvaWNlc1wiIiwiOiAiLCInaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0NiciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjEtMzQ6MTAzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkhJViBzdGF0dXMgLSBISVYgbmVnYXRpdmUgQ2hvaWNlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9WYWx1ZVNldC9hbmMtYjktZGU0NyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInZhbHVlc2V0ICIsIlwiSElWIHN0YXR1cyAtIEhJViBuZWdhdGl2ZSBDaG9pY2VzXCIiLCI6ICIsIidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9hbmMtY2RzL1ZhbHVlU2V0L2FuYy1iOS1kZTQ3JyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzY6MS0zNjo5NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBUlYgRHJ1Z3MiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9BUlZEcnVncy12YWx1ZXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ2YWx1ZXNldCAiLCJcIkFSViBEcnVnc1wiIiwiOiAiLCInaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0FSVkRydWdzLXZhbHVlcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjEtNDA6OTUiLAogICAgICAgICAgICAibmFtZSIgOiAiTUNWIFZhY2NpbmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFOSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIFZhY2NpbmUgVmFsdWUgU2V0c1xuIiwidmFsdWVzZXQgIiwiXCJNQ1YgVmFjY2luZVwiIiwiOiAiLCInaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREU5JyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MS00Mzo5NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCQ0cgVmFjY2luZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREUxIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gUGx1Z2luIGlzIGNvbXBsYWluaW5nIGFib3V0IG5vdCBmaW5kaW5nIHRoZXNlIHNvIHRoYXQgc2hvdWxkIGJlIHJlc29sdmVkLCBidXQgaGVyZSB1bnRpbCBpdCBjYW4gYmUgZml4ZWRcbiIsInZhbHVlc2V0ICIsIlwiQkNHIFZhY2NpbmVcIiIsIjogIiwiJ2h0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9WYWx1ZVNldC9JTU1aLkExLkRFMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDQ6OTkiLAogICAgICAgICAgICAibmFtZSIgOiAiQ2hvbGVyYSBWYWNjaW5lIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvVmFsdWVTZXQvSU1NWi5BMS5ERTIiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ2YWx1ZXNldCAiLCJcIkNob2xlcmEgVmFjY2luZVwiIiwiOiAiLCInaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1ZhbHVlU2V0L0lNTVouQTEuREUyJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0ODoxLTQ4OjkwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFkdmVyc2UgRXZlbnQgU2V2ZXJpdHkiLAogICAgICAgICAgICAiaWQiIDogIjI0NjExMjAwNSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJTZXZlcml0eSAoYXR0cmlidXRlKSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJBZHZlcnNlIEV2ZW50IFNldmVyaXR5XCIiLCI6ICIsIicyNDYxMTIwMDUnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlNOT01FRC1DVFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInU2V2ZXJpdHkgKGF0dHJpYnV0ZSknIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDg6NDktNDg6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiU05PTUVELUNUIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNDk6OTUiLAogICAgICAgICAgICAibmFtZSIgOiAiQWR2ZXJzZSBFdmVudCBNYW5pZmVzdGF0aW9uIiwKICAgICAgICAgICAgImlkIiA6ICIyNDYxMTIwMDUiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiU2V2ZXJpdHkgKGF0dHJpYnV0ZSkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiQWR2ZXJzZSBFdmVudCBNYW5pZmVzdGF0aW9uXCIiLCI6ICIsIicyNDYxMTIwMDUnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlNOT01FRC1DVFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInU2V2ZXJpdHkgKGF0dHJpYnV0ZSknIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6NTQtNDk6NjQiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiU05PTUVELUNUIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjEtNTE6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAiQ3VycmVudGx5IFByZWduYW50IiwKICAgICAgICAgICAgImlkIiA6ICJERTE2MSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJDdXJyZW50bHkgUHJlZ25hbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiQ3VycmVudGx5IFByZWduYW50XCIiLCI6ICIsIidERTE2MSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSU1NWi5ENFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInQ3VycmVudGx5IFByZWduYW50JyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjQxLTUxOjQ5IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklNTVouRDQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6MS01Mjo5MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIiwKICAgICAgICAgICAgImlkIiA6ICJERTE2NSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlNldmVyZWx5IGltbXVub3N1cHByZXNzZWRcIiIsIjogIiwiJ0RFMTY1JyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJTU1aLkQ0XCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidTZXZlcmVseSBpbW11bm9zdXBwcmVzc2VkJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjQ4LTUyOjU2IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklNTVouRDQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MS01MzoxMDgiLAogICAgICAgICAgICAibmFtZSIgOiAiSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zIiwKICAgICAgICAgICAgImlkIiA6ICJERTE2NiIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJIaXN0b3J5IG9mIGFuYXBoeWxhY3RpYyByZWFjdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zXCIiLCI6ICIsIidERTE2NiciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSU1NWi5ENFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInSGlzdG9yeSBvZiBhbmFwaHlsYWN0aWMgcmVhY3Rpb25zJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUzOjU2LTUzOjY0IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklNTVouRDQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MS01NDo5MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTZXZlcmUgYWxsZXJnaWMgcmVhY3Rpb25zIiwKICAgICAgICAgICAgImlkIiA6ICJERTE2NyIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJTZXZlcmUgYWxsZXJnaWMgcmVhY3Rpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlNldmVyZSBhbGxlcmdpYyByZWFjdGlvbnNcIiIsIjogIiwiJ0RFMTY3JyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJTU1aLkQ0XCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidTZXZlcmUgYWxsZXJnaWMgcmVhY3Rpb25zJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjQ4LTU0OjU2IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklNTVouRDQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MS01NTo5MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTeW1wdG9tYXRpYyBISVYgaW5mZWN0aW9uIiwKICAgICAgICAgICAgImlkIiA6ICJERTE2OCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJTeW1wdG9tYXRpYyBISVYgaW5mZWN0aW9uIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlN5bXB0b21hdGljIEhJViBpbmZlY3Rpb25cIiIsIjogIiwiJ0RFMTY4JyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJTU1aLkQ0XCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidTeW1wdG9tYXRpYyBISVYgaW5mZWN0aW9uJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjQ4LTU1OjU2IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklNTVouRDQiCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig-2.json new file mode 100644 index 0000000000..7ad81bbc96 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig-2.json @@ -0,0 +1,842 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "66", + "s" : [ { + "value" : [ "","library IMMZConfig" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZConfig", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "2:1-2:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "3:1-3:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + } ] + }, + "statements" : { + "def" : [ { + "locator" : "5:1-5:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "5:1-5:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "4", + "locator" : "7:1-7:62", + "name" : "High incidence of TB and/or high leprosy burden", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "r" : "3", + "value" : [ "","define ","\"High incidence of TB and/or high leprosy burden\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "3", + "locator" : "7:59-7:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "6", + "locator" : "8:1-8:61", + "name" : "Polio-endemic country with high risk of spread", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "r" : "5", + "value" : [ "","define ","\"Polio-endemic country with high risk of spread\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "5", + "locator" : "8:58-8:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "8", + "locator" : "16:1-16:38", + "name" : "Polio dose scheme", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "/*\ndefine \"Combined bOPV and IPV Schedule\": true\ndefine \"Sequential IPV-OPV Schedule\": true\n*/\n/*\n * Possible Polio dose schemes are 'combined', 'sequential', or 'ipv'\n */\n","define ","\"Polio dose scheme\"",": " ] + }, { + "r" : "7", + "s" : [ { + "value" : [ "'combined'" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "7", + "locator" : "16:29-16:38", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "combined", + "type" : "Literal" + } + }, { + "localId" : "10", + "locator" : "17:1-17:59", + "name" : "Country has a high risk of exposure to polio", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "r" : "9", + "value" : [ "","define ","\"Country has a high risk of exposure to polio\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "9", + "locator" : "17:56-17:59", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "12", + "locator" : "18:1-18:66", + "name" : "High Coverage of Polio and Risk of Wild Importation", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "12", + "s" : [ { + "r" : "11", + "value" : [ "","define ","\"High Coverage of Polio and Risk of Wild Importation\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "11", + "locator" : "18:63-18:66", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "14", + "locator" : "20:1-20:94", + "name" : "In a country where the peak burden of severe Hib disease occurs in young infants", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "14", + "s" : [ { + "r" : "13", + "value" : [ "","define ","\"In a country where the peak burden of severe Hib disease occurs in young infants\"",":","true" ] + } ] + } + } ], + "expression" : { + "localId" : "13", + "locator" : "20:91-20:94", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "16", + "locator" : "21:1-21:187", + "name" : "In a setting where the greatest disease morbidity and mortality occur later, or whererate reductions of disease are not fully sustained after the routine use of Hib vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "16", + "s" : [ { + "r" : "15", + "value" : [ "","define ","\"In a setting where the greatest disease morbidity and mortality occur later, or whererate reductions of disease are not fully sustained after the routine use of Hib vaccine\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "15", + "locator" : "21:184-21:187", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "18", + "locator" : "22:1-22:30", + "name" : "Hib dose scheme", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "18", + "s" : [ { + "value" : [ "","define ","\"Hib dose scheme\"",": " ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "'1p'" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "17", + "locator" : "22:27-22:30", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "1p", + "type" : "Literal" + } + }, { + "localId" : "20", + "locator" : "23:1-23:42", + "name" : "Hepatitis A endemic country", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "20", + "s" : [ { + "r" : "19", + "value" : [ "","define ","\"Hepatitis A endemic country\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "19", + "locator" : "23:39-23:42", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "22", + "locator" : "25:1-25:56", + "name" : "Japanese Encephalitis dose scheme", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "22", + "s" : [ { + "value" : [ "","define ","\"Japanese Encephalitis dose scheme\"",": " ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "'attenuated'" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "21", + "locator" : "25:45-25:56", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "attenuated", + "type" : "Literal" + } + }, { + "localId" : "24", + "locator" : "31:1-31:57", + "name" : "Country recognizes JE as a health priority", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "24", + "s" : [ { + "r" : "23", + "value" : [ "/*\ndefine \"Country is administering Live recombinant JE antigen\":true\ndefine \"Country is administering Live attentuated JE antigen\": true\ndefine \"Country is administering Inactivated Vero cell-derived JE antigen\": true\n*/\n","define ","\"Country recognizes JE as a health priority\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "23", + "locator" : "31:54-31:57", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "26", + "locator" : "37:1-37:41", + "name" : "Pneumococcal dose scheme", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "26", + "s" : [ { + "value" : [ "/*\ndefine \"Country is following a 2 dose scheme for Pneumococcal\": true\ndefine \"Country is following a 3 dose scheme for Pneumococcal\": true\n*/\n","define ","\"Pneumococcal dose scheme\"",": " ] + }, { + "r" : "25", + "s" : [ { + "value" : [ "'2p+1'" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "25", + "locator" : "37:36-37:41", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "2p+1", + "type" : "Literal" + } + }, { + "localId" : "28", + "locator" : "38:1-38:59", + "name" : "Country is not highly endemic for Hepatitis A", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "r" : "27", + "value" : [ "","define ","\"Country is not highly endemic for Hepatitis A\"",":","true" ] + } ] + } + } ], + "expression" : { + "localId" : "27", + "locator" : "38:56-38:59", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "30", + "locator" : "39:1-39:69", + "name" : "Country is administering a Live attenuated HAV vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "30", + "s" : [ { + "r" : "29", + "value" : [ "","define ","\"Country is administering a Live attenuated HAV vaccine\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "29", + "locator" : "39:66-39:69", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "32", + "locator" : "40:1-40:68", + "name" : "In a setting with a high disease burden and mortality", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "32", + "s" : [ { + "r" : "31", + "value" : [ "","define ","\"In a setting with a high disease burden and mortality\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "31", + "locator" : "40:65-40:68", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "34", + "locator" : "42:1-42:58", + "name" : "Region recommends Meningococcal vaccination", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "34", + "s" : [ { + "r" : "33", + "value" : [ "","define ","\"Region recommends Meningococcal vaccination\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "33", + "locator" : "42:55-42:58", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "36", + "locator" : "43:1-43:52", + "name" : "Region recommends Cholera vaccination", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "r" : "35", + "value" : [ "","define ","\"Region recommends Cholera vaccination\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "35", + "locator" : "43:49-43:52", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "38", + "locator" : "44:1-44:52", + "name" : "Region recommends Typhoid vaccination", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "38", + "s" : [ { + "r" : "37", + "value" : [ "","define ","\"Region recommends Typhoid vaccination\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "37", + "locator" : "44:49-44:52", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "40", + "locator" : "45:1-45:55", + "name" : "Country is administering the TCV vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "40", + "s" : [ { + "r" : "39", + "value" : [ "","define ","\"Country is administering the TCV vaccine\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "39", + "locator" : "45:52-45:55", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "42", + "locator" : "46:1-46:52", + "name" : "Country is administering ViPS vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "42", + "s" : [ { + "r" : "41", + "value" : [ "","define ","\"Country is administering ViPS vaccine\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "41", + "locator" : "46:49-46:52", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "44", + "locator" : "47:1-47:66", + "name" : "Country is administering an Inactivated HAV vaccine", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "44", + "s" : [ { + "r" : "43", + "value" : [ "","define ","\"Country is administering an Inactivated HAV vaccine\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "43", + "locator" : "47:63-47:66", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "46", + "locator" : "48:1-48:99", + "name" : "In a setting where the risk of measles among infants < 9 months of age remains high", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "46", + "s" : [ { + "r" : "45", + "value" : [ "","define ","\"In a setting where the risk of measles among infants < 9 months of age remains high\"",": ","false" ] + } ] + } + } ], + "expression" : { + "localId" : "45", + "locator" : "48:95-48:99", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + }, { + "localId" : "48", + "locator" : "49:1-49:56", + "name" : "Country currently has a measles outbreak", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "48", + "s" : [ { + "r" : "47", + "value" : [ "","define ","\"Country currently has a measles outbreak\"",": ","false" ] + } ] + } + } ], + "expression" : { + "localId" : "47", + "locator" : "49:52-49:56", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + }, { + "localId" : "50", + "locator" : "50:1-50:93", + "name" : "Population is in conflict zones internally displaced populations and refugees", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "50", + "s" : [ { + "r" : "49", + "value" : [ "","define ","\"Population is in conflict zones internally displaced populations and refugees\"",": ","false" ] + } ] + } + } ], + "expression" : { + "localId" : "49", + "locator" : "50:89-50:93", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + }, { + "localId" : "52", + "locator" : "51:1-51:71", + "name" : "In a setting where there is high transmission of Measles", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "52", + "s" : [ { + "r" : "51", + "value" : [ "","define ","\"In a setting where there is high transmission of Measles\"",":","false" ] + } ] + } + } ], + "expression" : { + "localId" : "51", + "locator" : "51:67-51:71", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + }, { + "localId" : "54", + "locator" : "52:1-52:70", + "name" : "In a setting where there is low transmission of Measles", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "r" : "53", + "value" : [ "","define ","\"In a setting where there is low transmission of Measles\"",":","false" ] + } ] + } + } ], + "expression" : { + "localId" : "53", + "locator" : "52:66-52:70", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + }, { + "localId" : "56", + "locator" : "54:1-54:47", + "name" : "Country has Yellow Fever Endemic", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "56", + "s" : [ { + "r" : "55", + "value" : [ "","define ","\"Country has Yellow Fever Endemic\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "55", + "locator" : "54:44-54:47", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "58", + "locator" : "55:1-55:51", + "name" : "Country recognizes TBE as a priority", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "58", + "s" : [ { + "r" : "57", + "value" : [ "","define ","\"Country recognizes TBE as a priority\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "57", + "locator" : "55:48-55:51", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "60", + "locator" : "57:1-57:109", + "name" : "There is a compelling reason to vaccinate infants with Meningococcal between 3 to 9 months old", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "60", + "s" : [ { + "r" : "59", + "value" : [ "","define ","\"There is a compelling reason to vaccinate infants with Meningococcal between 3 to 9 months old\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "59", + "locator" : "57:106-57:109", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "62", + "locator" : "58:1-58:77", + "name" : "Country recognizes Varicella an important public health burden", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "62", + "s" : [ { + "r" : "61", + "value" : [ "","define ","\"Country recognizes Varicella an important public health burden\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "61", + "locator" : "58:74-58:77", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "64", + "locator" : "59:1-59:77", + "name" : "Country recognizes MUMPS reduction as a public health priority", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "64", + "s" : [ { + "r" : "63", + "value" : [ "","define ","\"Country recognizes MUMPS reduction as a public health priority\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "63", + "locator" : "59:74-59:77", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + }, { + "localId" : "66", + "locator" : "60:1-60:60", + "name" : "Country is using a 3 dose series ROTA product", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "66", + "s" : [ { + "r" : "65", + "value" : [ "","define ","\"Country is using a 3 dose series ROTA product\"",": ","true" ] + } ] + } + } ], + "expression" : { + "localId" : "65", + "locator" : "60:57-60:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig.json new file mode 100644 index 0000000000..9eb290c937 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZConfig.json @@ -0,0 +1,285 @@ +{ + "resourceType" : "Library", + "id" : "IMMZConfig", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onIMMZConcepts

Parameters

Patientout01Patient
High incidence of TB and/or high leprosy burdenout01boolean
Polio-endemic country with high risk of spreadout01boolean
Polio dose schemeout01string
Country has a high risk of exposure to polioout01boolean
High Coverage of Polio and Risk of Wild Importationout01boolean
In a country where the peak burden of severe Hib disease occurs in young infantsout01boolean
In a setting where the greatest disease morbidity and mortality occur later, or whererate reductions of disease are not fully sustained after the routine use of Hib vaccineout01boolean
Hib dose schemeout01string
Hepatitis A endemic countryout01boolean
Japanese Encephalitis dose schemeout01string
Country recognizes JE as a health priorityout01boolean
Pneumococcal dose schemeout01string
Country is not highly endemic for Hepatitis Aout01boolean
Country is administering a Live attenuated HAV vaccineout01boolean
In a setting with a high disease burden and mortalityout01boolean
Region recommends Meningococcal vaccinationout01boolean
Region recommends Cholera vaccinationout01boolean
Region recommends Typhoid vaccinationout01boolean
Country is administering the TCV vaccineout01boolean
Country is administering ViPS vaccineout01boolean
Country is administering an Inactivated HAV vaccineout01boolean
In a setting where the risk of measles among infants < 9 months of age remains highout01boolean
Country currently has a measles outbreakout01boolean
Population is in conflict zones internally displaced populations and refugeesout01boolean
In a setting where there is high transmission of Measlesout01boolean
In a setting where there is low transmission of Measlesout01boolean
Country has Yellow Fever Endemicout01boolean
Country recognizes TBE as a priorityout01boolean
There is a compelling reason to vaccinate infants with Meningococcal between 3 to 9 months oldout01boolean
Country recognizes Varicella an important public health burdenout01boolean
Country recognizes MUMPS reduction as a public health priorityout01boolean
Country is using a 3 dose series ROTA productout01boolean

Contents

text/cql

library IMMZConfig\r\nusing FHIR version '4.0.1'\r\ninclude IMMZConcepts called IMMZc\r\n\r\ncontext Patient \r\n\r\ndefine "High incidence of TB and/or high leprosy burden": true\r\ndefine "Polio-endemic country with high risk of spread": true\r\n/*\r\ndefine "Combined bOPV and IPV Schedule": true\r\ndefine "Sequential IPV-OPV Schedule": true\r\n*/\r\n/*\r\n * Possible Polio dose schemes are 'combined', 'sequential', or 'ipv'\r\n */\r\ndefine "Polio dose scheme": 'combined'\r\ndefine "Country has a high risk of exposure to polio": true\r\ndefine "High Coverage of Polio and Risk of Wild Importation": true\r\n\r\ndefine "In a country where the peak burden of severe Hib disease occurs in young infants":true\r\ndefine "In a setting where the greatest disease morbidity and mortality occur later, or whererate reductions of disease are not fully sustained after the routine use of Hib vaccine": true\r\ndefine "Hib dose scheme": '1p'\r\ndefine "Hepatitis A endemic country": true\r\n\r\ndefine "Japanese Encephalitis dose scheme": 'attenuated'\r\n/*\r\ndefine "Country is administering Live recombinant JE antigen":true\r\ndefine "Country is administering Live attentuated JE antigen": true\r\ndefine "Country is administering Inactivated Vero cell-derived JE antigen": true\r\n*/\r\ndefine "Country recognizes JE as a health priority": true\r\n\r\n/*\r\ndefine "Country is following a 2 dose scheme for Pneumococcal": true\r\ndefine "Country is following a 3 dose scheme for Pneumococcal": true\r\n*/\r\ndefine "Pneumococcal dose scheme": '2p+1'\r\ndefine "Country is not highly endemic for Hepatitis A":true\r\ndefine "Country is administering a Live attenuated HAV vaccine": true\r\ndefine "In a setting with a high disease burden and mortality": true\r\n\r\ndefine "Region recommends Meningococcal vaccination": true\r\ndefine "Region recommends Cholera vaccination": true\r\ndefine "Region recommends Typhoid vaccination": true\r\ndefine "Country is administering the TCV vaccine": true\r\ndefine "Country is administering ViPS vaccine": true\r\ndefine "Country is administering an Inactivated HAV vaccine": true\r\ndefine "In a setting where the risk of measles among infants < 9 months of age remains high": false\r\ndefine "Country currently has a measles outbreak": false\r\ndefine "Population is in conflict zones internally displaced populations and refugees": false\r\ndefine "In a setting where there is high transmission of Measles":false\r\ndefine "In a setting where there is low transmission of Measles":false\r\n\r\ndefine "Country has Yellow Fever Endemic": true\r\ndefine "Country recognizes TBE as a priority": true\r\n\r\ndefine "There is a compelling reason to vaccinate infants with Meningococcal between 3 to 9 months old": true\r\ndefine "Country recognizes Varicella an important public health burden": true\r\ndefine "Country recognizes MUMPS reduction as a public health priority": true\r\ndefine "Country is using a 3 dose series ROTA product": true\r\n// TODO: \r\n//define "bOPV and IPV Schedule":\r\n//\t'combined'\r\n\t//'sequential';\r\n\r\n\r\n

Content not shown - (application/elm+xml, size = 18Kb)

Content not shown - (application/elm+json, size = 29Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConfig", + "version" : "0.1.0", + "name" : "IMMZConfig", + "title" : "IMMZConfig", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines configuration points for the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }], + "parameter" : [{ + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }, + { + "name" : "High incidence of TB and/or high leprosy burden", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Polio-endemic country with high risk of spread", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Polio dose scheme", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Country has a high risk of exposure to polio", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "High Coverage of Polio and Risk of Wild Importation", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a country where the peak burden of severe Hib disease occurs in young infants", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a setting where the greatest disease morbidity and mortality occur later, or whererate reductions of disease are not fully sustained after the routine use of Hib vaccine", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Hib dose scheme", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Hepatitis A endemic country", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Japanese Encephalitis dose scheme", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Country recognizes JE as a health priority", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Pneumococcal dose scheme", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Country is not highly endemic for Hepatitis A", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country is administering a Live attenuated HAV vaccine", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a setting with a high disease burden and mortality", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Region recommends Meningococcal vaccination", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Region recommends Cholera vaccination", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Region recommends Typhoid vaccination", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country is administering the TCV vaccine", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country is administering ViPS vaccine", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country is administering an Inactivated HAV vaccine", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a setting where the risk of measles among infants < 9 months of age remains high", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country currently has a measles outbreak", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Population is in conflict zones internally displaced populations and refugees", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a setting where there is high transmission of Measles", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "In a setting where there is low transmission of Measles", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country has Yellow Fever Endemic", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country recognizes TBE as a priority", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "There is a compelling reason to vaccinate infants with Meningococcal between 3 to 9 months old", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country recognizes Varicella an important public health burden", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country recognizes MUMPS reduction as a public health priority", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Country is using a 3 dose series ROTA product", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBJTU1aQ29uZmlnDQp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJw0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQoNCmNvbnRleHQgUGF0aWVudCANCg0KZGVmaW5lICJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiI6IHRydWUNCmRlZmluZSAiUG9saW8tZW5kZW1pYyBjb3VudHJ5IHdpdGggaGlnaCByaXNrIG9mIHNwcmVhZCI6IHRydWUNCi8qDQpkZWZpbmUgIkNvbWJpbmVkIGJPUFYgYW5kIElQViBTY2hlZHVsZSI6IHRydWUNCmRlZmluZSAiU2VxdWVudGlhbCBJUFYtT1BWIFNjaGVkdWxlIjogdHJ1ZQ0KKi8NCi8qDQogKiBQb3NzaWJsZSBQb2xpbyBkb3NlIHNjaGVtZXMgYXJlICdjb21iaW5lZCcsICdzZXF1ZW50aWFsJywgb3IgJ2lwdicNCiAqLw0KZGVmaW5lICJQb2xpbyBkb3NlIHNjaGVtZSI6ICdjb21iaW5lZCcNCmRlZmluZSAiQ291bnRyeSBoYXMgYSBoaWdoIHJpc2sgb2YgZXhwb3N1cmUgdG8gcG9saW8iOiB0cnVlDQpkZWZpbmUgIkhpZ2ggQ292ZXJhZ2Ugb2YgUG9saW8gYW5kIFJpc2sgb2YgV2lsZCBJbXBvcnRhdGlvbiI6IHRydWUNCg0KZGVmaW5lICJJbiBhIGNvdW50cnkgd2hlcmUgdGhlIHBlYWsgYnVyZGVuIG9mIHNldmVyZSBIaWIgZGlzZWFzZSBvY2N1cnMgaW4geW91bmcgaW5mYW50cyI6dHJ1ZQ0KZGVmaW5lICJJbiBhIHNldHRpbmcgd2hlcmUgdGhlIGdyZWF0ZXN0IGRpc2Vhc2UgbW9yYmlkaXR5IGFuZCBtb3J0YWxpdHkgb2NjdXIgbGF0ZXIsIG9yIHdoZXJlcmF0ZSByZWR1Y3Rpb25zIG9mIGRpc2Vhc2UgYXJlIG5vdCBmdWxseSBzdXN0YWluZWQgYWZ0ZXIgdGhlIHJvdXRpbmUgdXNlIG9mIEhpYiB2YWNjaW5lIjogdHJ1ZQ0KZGVmaW5lICJIaWIgZG9zZSBzY2hlbWUiOiAnMXAnDQpkZWZpbmUgIkhlcGF0aXRpcyBBIGVuZGVtaWMgY291bnRyeSI6IHRydWUNCg0KZGVmaW5lICJKYXBhbmVzZSBFbmNlcGhhbGl0aXMgZG9zZSBzY2hlbWUiOiAnYXR0ZW51YXRlZCcNCi8qDQpkZWZpbmUgIkNvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBMaXZlIHJlY29tYmluYW50IEpFIGFudGlnZW4iOnRydWUNCmRlZmluZSAiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIExpdmUgYXR0ZW50dWF0ZWQgSkUgYW50aWdlbiI6IHRydWUNCmRlZmluZSAiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIEluYWN0aXZhdGVkIFZlcm8gY2VsbC1kZXJpdmVkIEpFIGFudGlnZW4iOiB0cnVlDQoqLw0KZGVmaW5lICJDb3VudHJ5IHJlY29nbml6ZXMgSkUgYXMgYSBoZWFsdGggcHJpb3JpdHkiOiB0cnVlDQoNCi8qDQpkZWZpbmUgIkNvdW50cnkgaXMgZm9sbG93aW5nIGEgMiBkb3NlIHNjaGVtZSBmb3IgUG5ldW1vY29jY2FsIjogdHJ1ZQ0KZGVmaW5lICJDb3VudHJ5IGlzIGZvbGxvd2luZyBhIDMgZG9zZSBzY2hlbWUgZm9yIFBuZXVtb2NvY2NhbCI6IHRydWUNCiovDQpkZWZpbmUgIlBuZXVtb2NvY2NhbCBkb3NlIHNjaGVtZSI6ICcycCsxJw0KZGVmaW5lICJDb3VudHJ5IGlzIG5vdCBoaWdobHkgZW5kZW1pYyBmb3IgSGVwYXRpdGlzIEEiOnRydWUNCmRlZmluZSAiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIGEgTGl2ZSBhdHRlbnVhdGVkIEhBViB2YWNjaW5lIjogdHJ1ZQ0KZGVmaW5lICJJbiBhIHNldHRpbmcgd2l0aCBhIGhpZ2ggZGlzZWFzZSBidXJkZW4gYW5kIG1vcnRhbGl0eSI6IHRydWUNCg0KZGVmaW5lICJSZWdpb24gcmVjb21tZW5kcyBNZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIjogdHJ1ZQ0KZGVmaW5lICJSZWdpb24gcmVjb21tZW5kcyBDaG9sZXJhIHZhY2NpbmF0aW9uIjogdHJ1ZQ0KZGVmaW5lICJSZWdpb24gcmVjb21tZW5kcyBUeXBob2lkIHZhY2NpbmF0aW9uIjogdHJ1ZQ0KZGVmaW5lICJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgdGhlIFRDViB2YWNjaW5lIjogdHJ1ZQ0KZGVmaW5lICJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgVmlQUyB2YWNjaW5lIjogdHJ1ZQ0KZGVmaW5lICJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgYW4gSW5hY3RpdmF0ZWQgSEFWIHZhY2NpbmUiOiB0cnVlDQpkZWZpbmUgIkluIGEgc2V0dGluZyB3aGVyZSB0aGUgcmlzayBvZiBtZWFzbGVzIGFtb25nIGluZmFudHMgPCA5IG1vbnRocyBvZiBhZ2UgcmVtYWlucyBoaWdoIjogZmFsc2UNCmRlZmluZSAiQ291bnRyeSBjdXJyZW50bHkgaGFzIGEgbWVhc2xlcyBvdXRicmVhayI6IGZhbHNlDQpkZWZpbmUgIlBvcHVsYXRpb24gaXMgaW4gY29uZmxpY3Qgem9uZXMgaW50ZXJuYWxseSBkaXNwbGFjZWQgcG9wdWxhdGlvbnMgYW5kIHJlZnVnZWVzIjogZmFsc2UNCmRlZmluZSAiSW4gYSBzZXR0aW5nIHdoZXJlIHRoZXJlIGlzIGhpZ2ggdHJhbnNtaXNzaW9uIG9mIE1lYXNsZXMiOmZhbHNlDQpkZWZpbmUgIkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBsb3cgdHJhbnNtaXNzaW9uIG9mIE1lYXNsZXMiOmZhbHNlDQoNCmRlZmluZSAiQ291bnRyeSBoYXMgWWVsbG93IEZldmVyIEVuZGVtaWMiOiB0cnVlDQpkZWZpbmUgIkNvdW50cnkgcmVjb2duaXplcyBUQkUgYXMgYSBwcmlvcml0eSI6IHRydWUNCg0KZGVmaW5lICJUaGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIHdpdGggTWVuaW5nb2NvY2NhbCBiZXR3ZWVuIDMgdG8gOSBtb250aHMgb2xkIjogdHJ1ZQ0KZGVmaW5lICJDb3VudHJ5IHJlY29nbml6ZXMgVmFyaWNlbGxhIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiI6IHRydWUNCmRlZmluZSAiQ291bnRyeSByZWNvZ25pemVzIE1VTVBTIHJlZHVjdGlvbiBhcyBhIHB1YmxpYyBoZWFsdGggcHJpb3JpdHkiOiB0cnVlDQpkZWZpbmUgIkNvdW50cnkgaXMgdXNpbmcgYSAzIGRvc2Ugc2VyaWVzIFJPVEEgcHJvZHVjdCI6IHRydWUNCi8vIFRPRE86IA0KLy9kZWZpbmUgImJPUFYgYW5kIElQViBTY2hlZHVsZSI6DQovLwknY29tYmluZWQnDQoJLy8nc2VxdWVudGlhbCc7DQoNCg0K" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICA8YTpzPmxpYnJhcnkgSU1NWkNvbmZpZzwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkNvbmZpZyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSIyOjEtMjoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjM6MS0zOjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpjIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aYzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNToxLTU6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU6MS01OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iNzoxLTc6NjIiIG5hbWU9IkhpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMyI+ZGVmaW5lICZxdW90O0hpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuJnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMiIGxvY2F0b3I9Ijc6NTktNzo2MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSI4OjEtODo2MSIgbmFtZT0iUG9saW8tZW5kZW1pYyBjb3VudHJ5IHdpdGggaGlnaCByaXNrIG9mIHNwcmVhZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjUiPmRlZmluZSAmcXVvdDtQb2xpby1lbmRlbWljIGNvdW50cnkgd2l0aCBoaWdoIHJpc2sgb2Ygc3ByZWFkJnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijg6NTgtODo2MSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4IiBsb2NhdG9yPSIxNjoxLTE2OjM4IiBuYW1lPSJQb2xpbyBkb3NlIHNjaGVtZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPi8qCmRlZmluZSAmcXVvdDtDb21iaW5lZCBiT1BWIGFuZCBJUFYgU2NoZWR1bGUmcXVvdDs6IHRydWUKZGVmaW5lICZxdW90O1NlcXVlbnRpYWwgSVBWLU9QViBTY2hlZHVsZSZxdW90OzogdHJ1ZQoqLwovKgogKiBQb3NzaWJsZSBQb2xpbyBkb3NlIHNjaGVtZXMgYXJlICdjb21iaW5lZCcsICdzZXF1ZW50aWFsJywgb3IgJ2lwdicKICovCmRlZmluZSAmcXVvdDtQb2xpbyBkb3NlIHNjaGVtZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbWJpbmVkJzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTY6MjktMTY6MzgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21iaW5lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE3OjEtMTc6NTkiIG5hbWU9IkNvdW50cnkgaGFzIGEgaGlnaCByaXNrIG9mIGV4cG9zdXJlIHRvIHBvbGlvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPmRlZmluZSAmcXVvdDtDb3VudHJ5IGhhcyBhIGhpZ2ggcmlzayBvZiBleHBvc3VyZSB0byBwb2xpbyZxdW90OzogdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxNzo1Ni0xNzo1OSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMTg6MS0xODo2NiIgbmFtZT0iSGlnaCBDb3ZlcmFnZSBvZiBQb2xpbyBhbmQgUmlzayBvZiBXaWxkIEltcG9ydGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzIHI9IjExIj5kZWZpbmUgJnF1b3Q7SGlnaCBDb3ZlcmFnZSBvZiBQb2xpbyBhbmQgUmlzayBvZiBXaWxkIEltcG9ydGF0aW9uJnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIxODo2My0xODo2NiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMjA6MS0yMDo5NCIgbmFtZT0iSW4gYSBjb3VudHJ5IHdoZXJlIHRoZSBwZWFrIGJ1cmRlbiBvZiBzZXZlcmUgSGliIGRpc2Vhc2Ugb2NjdXJzIGluIHlvdW5nIGluZmFudHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPmRlZmluZSAmcXVvdDtJbiBhIGNvdW50cnkgd2hlcmUgdGhlIHBlYWsgYnVyZGVuIG9mIHNldmVyZSBIaWIgZGlzZWFzZSBvY2N1cnMgaW4geW91bmcgaW5mYW50cyZxdW90Ozp0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyMDo5MS0yMDo5NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMjE6MS0yMToxODciIG5hbWU9IkluIGEgc2V0dGluZyB3aGVyZSB0aGUgZ3JlYXRlc3QgZGlzZWFzZSBtb3JiaWRpdHkgYW5kIG1vcnRhbGl0eSBvY2N1ciBsYXRlciwgb3Igd2hlcmVyYXRlIHJlZHVjdGlvbnMgb2YgZGlzZWFzZSBhcmUgbm90IGZ1bGx5IHN1c3RhaW5lZCBhZnRlciB0aGUgcm91dGluZSB1c2Ugb2YgSGliIHZhY2NpbmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPmRlZmluZSAmcXVvdDtJbiBhIHNldHRpbmcgd2hlcmUgdGhlIGdyZWF0ZXN0IGRpc2Vhc2UgbW9yYmlkaXR5IGFuZCBtb3J0YWxpdHkgb2NjdXIgbGF0ZXIsIG9yIHdoZXJlcmF0ZSByZWR1Y3Rpb25zIG9mIGRpc2Vhc2UgYXJlIG5vdCBmdWxseSBzdXN0YWluZWQgYWZ0ZXIgdGhlIHJvdXRpbmUgdXNlIG9mIEhpYiB2YWNjaW5lJnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyMToxODQtMjE6MTg3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyMjoxLTIyOjMwIiBuYW1lPSJIaWIgZG9zZSBzY2hlbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hpYiBkb3NlIHNjaGVtZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICA8YTpzPicxcCc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIyMjoyNy0yMjozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjFwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjM6MS0yMzo0MiIgbmFtZT0iSGVwYXRpdGlzIEEgZW5kZW1pYyBjb3VudHJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5Ij5kZWZpbmUgJnF1b3Q7SGVwYXRpdGlzIEEgZW5kZW1pYyBjb3VudHJ5JnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyMzozOS0yMzo0MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjU6MS0yNTo1NiIgbmFtZT0iSmFwYW5lc2UgRW5jZXBoYWxpdGlzIGRvc2Ugc2NoZW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtKYXBhbmVzZSBFbmNlcGhhbGl0aXMgZG9zZSBzY2hlbWUmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4nYXR0ZW51YXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIyNTo0NS0yNTo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImF0dGVudWF0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIzMToxLTMxOjU3IiBuYW1lPSJDb3VudHJ5IHJlY29nbml6ZXMgSkUgYXMgYSBoZWFsdGggcHJpb3JpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPi8qCmRlZmluZSAmcXVvdDtDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgTGl2ZSByZWNvbWJpbmFudCBKRSBhbnRpZ2VuJnF1b3Q7OnRydWUKZGVmaW5lICZxdW90O0NvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBMaXZlIGF0dGVudHVhdGVkIEpFIGFudGlnZW4mcXVvdDs6IHRydWUKZGVmaW5lICZxdW90O0NvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBJbmFjdGl2YXRlZCBWZXJvIGNlbGwtZGVyaXZlZCBKRSBhbnRpZ2VuJnF1b3Q7OiB0cnVlCiovCmRlZmluZSAmcXVvdDtDb3VudHJ5IHJlY29nbml6ZXMgSkUgYXMgYSBoZWFsdGggcHJpb3JpdHkmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjMxOjU0LTMxOjU3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIzNzoxLTM3OjQxIiBuYW1lPSJQbmV1bW9jb2NjYWwgZG9zZSBzY2hlbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKZGVmaW5lICZxdW90O0NvdW50cnkgaXMgZm9sbG93aW5nIGEgMiBkb3NlIHNjaGVtZSBmb3IgUG5ldW1vY29jY2FsJnF1b3Q7OiB0cnVlCmRlZmluZSAmcXVvdDtDb3VudHJ5IGlzIGZvbGxvd2luZyBhIDMgZG9zZSBzY2hlbWUgZm9yIFBuZXVtb2NvY2NhbCZxdW90OzogdHJ1ZQoqLwpkZWZpbmUgJnF1b3Q7UG5ldW1vY29jY2FsIGRvc2Ugc2NoZW1lJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JzJwKzEnPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMzc6MzYtMzc6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIycCsxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMzg6MS0zODo1OSIgbmFtZT0iQ291bnRyeSBpcyBub3QgaGlnaGx5IGVuZGVtaWMgZm9yIEhlcGF0aXRpcyBBIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij5kZWZpbmUgJnF1b3Q7Q291bnRyeSBpcyBub3QgaGlnaGx5IGVuZGVtaWMgZm9yIEhlcGF0aXRpcyBBJnF1b3Q7OnRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjM4OjU2LTM4OjU5IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSIzOToxLTM5OjY5IiBuYW1lPSJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgYSBMaXZlIGF0dGVudWF0ZWQgSEFWIHZhY2NpbmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPmRlZmluZSAmcXVvdDtDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgYSBMaXZlIGF0dGVudWF0ZWQgSEFWIHZhY2NpbmUmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkiIGxvY2F0b3I9IjM5OjY2LTM5OjY5IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSI0MDoxLTQwOjY4IiBuYW1lPSJJbiBhIHNldHRpbmcgd2l0aCBhIGhpZ2ggZGlzZWFzZSBidXJkZW4gYW5kIG1vcnRhbGl0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+ZGVmaW5lICZxdW90O0luIGEgc2V0dGluZyB3aXRoIGEgaGlnaCBkaXNlYXNlIGJ1cmRlbiBhbmQgbW9ydGFsaXR5JnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSI0MDo2NS00MDo2OCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNCIgbG9jYXRvcj0iNDI6MS00Mjo1OCIgbmFtZT0iUmVnaW9uIHJlY29tbWVuZHMgTWVuaW5nb2NvY2NhbCB2YWNjaW5hdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+ZGVmaW5lICZxdW90O1JlZ2lvbiByZWNvbW1lbmRzIE1lbmluZ29jb2NjYWwgdmFjY2luYXRpb24mcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjQyOjU1LTQyOjU4IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSI0MzoxLTQzOjUyIiBuYW1lPSJSZWdpb24gcmVjb21tZW5kcyBDaG9sZXJhIHZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij5kZWZpbmUgJnF1b3Q7UmVnaW9uIHJlY29tbWVuZHMgQ2hvbGVyYSB2YWNjaW5hdGlvbiZxdW90OzogdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNDM6NDktNDM6NTIiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjQ0OjEtNDQ6NTIiIG5hbWU9IlJlZ2lvbiByZWNvbW1lbmRzIFR5cGhvaWQgdmFjY2luYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPmRlZmluZSAmcXVvdDtSZWdpb24gcmVjb21tZW5kcyBUeXBob2lkIHZhY2NpbmF0aW9uJnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSI0NDo0OS00NDo1MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MCIgbG9jYXRvcj0iNDU6MS00NTo1NSIgbmFtZT0iQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIHRoZSBUQ1YgdmFjY2luZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+ZGVmaW5lICZxdW90O0NvdW50cnkgaXMgYWRtaW5pc3RlcmluZyB0aGUgVENWIHZhY2NpbmUmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzkiIGxvY2F0b3I9IjQ1OjUyLTQ1OjU1IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSI0NjoxLTQ2OjUyIiBuYW1lPSJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgVmlQUyB2YWNjaW5lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxIj5kZWZpbmUgJnF1b3Q7Q291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIFZpUFMgdmFjY2luZSZxdW90OzogdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDY6NDktNDY6NTIiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDQiIGxvY2F0b3I9IjQ3OjEtNDc6NjYiIG5hbWU9IkNvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBhbiBJbmFjdGl2YXRlZCBIQVYgdmFjY2luZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+ZGVmaW5lICZxdW90O0NvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBhbiBJbmFjdGl2YXRlZCBIQVYgdmFjY2luZSZxdW90OzogdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDc6NjMtNDc6NjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjQ4OjEtNDg6OTkiIG5hbWU9IkluIGEgc2V0dGluZyB3aGVyZSB0aGUgcmlzayBvZiBtZWFzbGVzIGFtb25nIGluZmFudHMgJmx0OyA5IG1vbnRocyBvZiBhZ2UgcmVtYWlucyBoaWdoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij5kZWZpbmUgJnF1b3Q7SW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyAmbHQ7IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2gmcXVvdDs6IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1IiBsb2NhdG9yPSI0ODo5NS00ODo5OSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjQ5OjEtNDk6NTYiIG5hbWU9IkNvdW50cnkgY3VycmVudGx5IGhhcyBhIG1lYXNsZXMgb3V0YnJlYWsiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPmRlZmluZSAmcXVvdDtDb3VudHJ5IGN1cnJlbnRseSBoYXMgYSBtZWFzbGVzIG91dGJyZWFrJnF1b3Q7OiBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NyIgbG9jYXRvcj0iNDk6NTItNDk6NTYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSI1MDoxLTUwOjkzIiBuYW1lPSJQb3B1bGF0aW9uIGlzIGluIGNvbmZsaWN0IHpvbmVzIGludGVybmFsbHkgZGlzcGxhY2VkIHBvcHVsYXRpb25zIGFuZCByZWZ1Z2VlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+ZGVmaW5lICZxdW90O1BvcHVsYXRpb24gaXMgaW4gY29uZmxpY3Qgem9uZXMgaW50ZXJuYWxseSBkaXNwbGFjZWQgcG9wdWxhdGlvbnMgYW5kIHJlZnVnZWVzJnF1b3Q7OiBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OSIgbG9jYXRvcj0iNTA6ODktNTA6OTMiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSI1MToxLTUxOjcxIiBuYW1lPSJJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgaGlnaCB0cmFuc21pc3Npb24gb2YgTWVhc2xlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+ZGVmaW5lICZxdW90O0luIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBoaWdoIHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzJnF1b3Q7OmZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI1MTo2Ny01MTo3MSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjUyOjEtNTI6NzAiIG5hbWU9IkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBsb3cgdHJhbnNtaXNzaW9uIG9mIE1lYXNsZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPmRlZmluZSAmcXVvdDtJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgbG93IHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzJnF1b3Q7OmZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSI1Mjo2Ni01Mjo3MCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTYiIGxvY2F0b3I9IjU0OjEtNTQ6NDciIG5hbWU9IkNvdW50cnkgaGFzIFllbGxvdyBGZXZlciBFbmRlbWljIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij5kZWZpbmUgJnF1b3Q7Q291bnRyeSBoYXMgWWVsbG93IEZldmVyIEVuZGVtaWMmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTUiIGxvY2F0b3I9IjU0OjQ0LTU0OjQ3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSI1NToxLTU1OjUxIiBuYW1lPSJDb3VudHJ5IHJlY29nbml6ZXMgVEJFIGFzIGEgcHJpb3JpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTciPmRlZmluZSAmcXVvdDtDb3VudHJ5IHJlY29nbml6ZXMgVEJFIGFzIGEgcHJpb3JpdHkmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTciIGxvY2F0b3I9IjU1OjQ4LTU1OjUxIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYwIiBsb2NhdG9yPSI1NzoxLTU3OjEwOSIgbmFtZT0iVGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyB3aXRoIE1lbmluZ29jb2NjYWwgYmV0d2VlbiAzIHRvIDkgbW9udGhzIG9sZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+ZGVmaW5lICZxdW90O1RoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgd2l0aCBNZW5pbmdvY29jY2FsIGJldHdlZW4gMyB0byA5IG1vbnRocyBvbGQmcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjU3OjEwNi01NzoxMDkiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjIiIGxvY2F0b3I9IjU4OjEtNTg6NzciIG5hbWU9IkNvdW50cnkgcmVjb2duaXplcyBWYXJpY2VsbGEgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICA8YTpzIHI9IjYxIj5kZWZpbmUgJnF1b3Q7Q291bnRyeSByZWNvZ25pemVzIFZhcmljZWxsYSBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4mcXVvdDs6IHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjU4Ojc0LTU4Ojc3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY0IiBsb2NhdG9yPSI1OToxLTU5Ojc3IiBuYW1lPSJDb3VudHJ5IHJlY29nbml6ZXMgTVVNUFMgcmVkdWN0aW9uIGFzIGEgcHVibGljIGhlYWx0aCBwcmlvcml0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+ZGVmaW5lICZxdW90O0NvdW50cnkgcmVjb2duaXplcyBNVU1QUyByZWR1Y3Rpb24gYXMgYSBwdWJsaWMgaGVhbHRoIHByaW9yaXR5JnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYzIiBsb2NhdG9yPSI1OTo3NC01OTo3NyIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNjA6MS02MDo2MCIgbmFtZT0iQ291bnRyeSBpcyB1c2luZyBhIDMgZG9zZSBzZXJpZXMgUk9UQSBwcm9kdWN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij5kZWZpbmUgJnF1b3Q7Q291bnRyeSBpcyB1c2luZyBhIDMgZG9zZSBzZXJpZXMgUk9UQSBwcm9kdWN0JnF1b3Q7OiB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSI2MDo1Ny02MDo2MCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNjYiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImxpYnJhcnkgSU1NWkNvbmZpZyIgXQogICAgICAgICAgICB9IF0KICAgICAgICAgfQogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJJTU1aQ29uZmlnIiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI6MS0yOjI2IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsCiAgICAgICAgICAgICJ1cmkiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJ1c2luZyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiaW5jbHVkZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpjIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkhpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuXCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6NTktNzo2MiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODoxLTg6NjEiLAogICAgICAgICAgICAibmFtZSIgOiAiUG9saW8tZW5kZW1pYyBjb3VudHJ5IHdpdGggaGlnaCByaXNrIG9mIHNwcmVhZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlBvbGlvLWVuZGVtaWMgY291bnRyeSB3aXRoIGhpZ2ggcmlzayBvZiBzcHJlYWRcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODo1OC04OjYxIiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjoxLTE2OjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBvbGlvIGRvc2Ugc2NoZW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5kZWZpbmUgXCJDb21iaW5lZCBiT1BWIGFuZCBJUFYgU2NoZWR1bGVcIjogdHJ1ZVxuZGVmaW5lIFwiU2VxdWVudGlhbCBJUFYtT1BWIFNjaGVkdWxlXCI6IHRydWVcbiovXG4vKlxuICogUG9zc2libGUgUG9saW8gZG9zZSBzY2hlbWVzIGFyZSAnY29tYmluZWQnLCAnc2VxdWVudGlhbCcsIG9yICdpcHYnXG4gKi9cbiIsImRlZmluZSAiLCJcIlBvbGlvIGRvc2Ugc2NoZW1lXCIiLCI6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInY29tYmluZWQnIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6MjktMTY6MzgiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY29tYmluZWQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzoxLTE3OjU5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgaGFzIGEgaGlnaCByaXNrIG9mIGV4cG9zdXJlIHRvIHBvbGlvIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkNvdW50cnkgaGFzIGEgaGlnaCByaXNrIG9mIGV4cG9zdXJlIHRvIHBvbGlvXCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OjU2LTE3OjU5IiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MS0xODo2NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJIaWdoIENvdmVyYWdlIG9mIFBvbGlvIGFuZCBSaXNrIG9mIFdpbGQgSW1wb3J0YXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkhpZ2ggQ292ZXJhZ2Ugb2YgUG9saW8gYW5kIFJpc2sgb2YgV2lsZCBJbXBvcnRhdGlvblwiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6NjMtMTg6NjYiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDoxLTIwOjk0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluIGEgY291bnRyeSB3aGVyZSB0aGUgcGVhayBidXJkZW4gb2Ygc2V2ZXJlIEhpYiBkaXNlYXNlIG9jY3VycyBpbiB5b3VuZyBpbmZhbnRzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJJbiBhIGNvdW50cnkgd2hlcmUgdGhlIHBlYWsgYnVyZGVuIG9mIHNldmVyZSBIaWIgZGlzZWFzZSBvY2N1cnMgaW4geW91bmcgaW5mYW50c1wiIiwiOiIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDo5MS0yMDo5NCIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjEtMjE6MTg3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluIGEgc2V0dGluZyB3aGVyZSB0aGUgZ3JlYXRlc3QgZGlzZWFzZSBtb3JiaWRpdHkgYW5kIG1vcnRhbGl0eSBvY2N1ciBsYXRlciwgb3Igd2hlcmVyYXRlIHJlZHVjdGlvbnMgb2YgZGlzZWFzZSBhcmUgbm90IGZ1bGx5IHN1c3RhaW5lZCBhZnRlciB0aGUgcm91dGluZSB1c2Ugb2YgSGliIHZhY2NpbmUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkluIGEgc2V0dGluZyB3aGVyZSB0aGUgZ3JlYXRlc3QgZGlzZWFzZSBtb3JiaWRpdHkgYW5kIG1vcnRhbGl0eSBvY2N1ciBsYXRlciwgb3Igd2hlcmVyYXRlIHJlZHVjdGlvbnMgb2YgZGlzZWFzZSBhcmUgbm90IGZ1bGx5IHN1c3RhaW5lZCBhZnRlciB0aGUgcm91dGluZSB1c2Ugb2YgSGliIHZhY2NpbmVcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjE4NC0yMToxODciLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjoxLTIyOjMwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkhpYiBkb3NlIHNjaGVtZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiSGliIGRvc2Ugc2NoZW1lXCIiLCI6ICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJzFwJyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjoyNy0yMjozMCIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxcCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6NDIiLAogICAgICAgICAgICAibmFtZSIgOiAiSGVwYXRpdGlzIEEgZW5kZW1pYyBjb3VudHJ5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJIZXBhdGl0aXMgQSBlbmRlbWljIGNvdW50cnlcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjM5LTIzOjQyIiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNTo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJKYXBhbmVzZSBFbmNlcGhhbGl0aXMgZG9zZSBzY2hlbWUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkphcGFuZXNlIEVuY2VwaGFsaXRpcyBkb3NlIHNjaGVtZVwiIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidhdHRlbnVhdGVkJyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTo0NS0yNTo1NiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhdHRlbnVhdGVkIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzE6MS0zMTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb3VudHJ5IHJlY29nbml6ZXMgSkUgYXMgYSBoZWFsdGggcHJpb3JpdHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5kZWZpbmUgXCJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgTGl2ZSByZWNvbWJpbmFudCBKRSBhbnRpZ2VuXCI6dHJ1ZVxuZGVmaW5lIFwiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIExpdmUgYXR0ZW50dWF0ZWQgSkUgYW50aWdlblwiOiB0cnVlXG5kZWZpbmUgXCJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgSW5hY3RpdmF0ZWQgVmVybyBjZWxsLWRlcml2ZWQgSkUgYW50aWdlblwiOiB0cnVlXG4qL1xuIiwiZGVmaW5lICIsIlwiQ291bnRyeSByZWNvZ25pemVzIEpFIGFzIGEgaGVhbHRoIHByaW9yaXR5XCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTo1NC0zMTo1NyIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3OjEtMzc6NDEiLAogICAgICAgICAgICAibmFtZSIgOiAiUG5ldW1vY29jY2FsIGRvc2Ugc2NoZW1lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuZGVmaW5lIFwiQ291bnRyeSBpcyBmb2xsb3dpbmcgYSAyIGRvc2Ugc2NoZW1lIGZvciBQbmV1bW9jb2NjYWxcIjogdHJ1ZVxuZGVmaW5lIFwiQ291bnRyeSBpcyBmb2xsb3dpbmcgYSAzIGRvc2Ugc2NoZW1lIGZvciBQbmV1bW9jb2NjYWxcIjogdHJ1ZVxuKi9cbiIsImRlZmluZSAiLCJcIlBuZXVtb2NvY2NhbCBkb3NlIHNjaGVtZVwiIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIicycCsxJyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzozNi0zNzo0MSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICIycCsxIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6MS0zODo1OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb3VudHJ5IGlzIG5vdCBoaWdobHkgZW5kZW1pYyBmb3IgSGVwYXRpdGlzIEEiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkNvdW50cnkgaXMgbm90IGhpZ2hseSBlbmRlbWljIGZvciBIZXBhdGl0aXMgQVwiIiwiOiIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODo1Ni0zODo1OSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjEtMzk6NjkiLAogICAgICAgICAgICAibmFtZSIgOiAiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIGEgTGl2ZSBhdHRlbnVhdGVkIEhBViB2YWNjaW5lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgYSBMaXZlIGF0dGVudWF0ZWQgSEFWIHZhY2NpbmVcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjY2LTM5OjY5IiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MS00MDo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJbiBhIHNldHRpbmcgd2l0aCBhIGhpZ2ggZGlzZWFzZSBidXJkZW4gYW5kIG1vcnRhbGl0eSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiSW4gYSBzZXR0aW5nIHdpdGggYSBoaWdoIGRpc2Vhc2UgYnVyZGVuIGFuZCBtb3J0YWxpdHlcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjY1LTQwOjY4IiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MS00Mjo1OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJSZWdpb24gcmVjb21tZW5kcyBNZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJSZWdpb24gcmVjb21tZW5kcyBNZW5pbmdvY29jY2FsIHZhY2NpbmF0aW9uXCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mjo1NS00Mjo1OCIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjEtNDM6NTIiLAogICAgICAgICAgICAibmFtZSIgOiAiUmVnaW9uIHJlY29tbWVuZHMgQ2hvbGVyYSB2YWNjaW5hdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiUmVnaW9uIHJlY29tbWVuZHMgQ2hvbGVyYSB2YWNjaW5hdGlvblwiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6NDktNDM6NTIiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NDoxLTQ0OjUyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlJlZ2lvbiByZWNvbW1lbmRzIFR5cGhvaWQgdmFjY2luYXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlJlZ2lvbiByZWNvbW1lbmRzIFR5cGhvaWQgdmFjY2luYXRpb25cIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjQ5LTQ0OjUyIiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MS00NTo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgdGhlIFRDViB2YWNjaW5lIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IGlzIGFkbWluaXN0ZXJpbmcgdGhlIFRDViB2YWNjaW5lXCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NTo1Mi00NTo1NSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ2OjEtNDY6NTIiLAogICAgICAgICAgICAibmFtZSIgOiAiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIFZpUFMgdmFjY2luZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIFZpUFMgdmFjY2luZVwiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6NDktNDY6NTIiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzoxLTQ3OjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgaXMgYWRtaW5pc3RlcmluZyBhbiBJbmFjdGl2YXRlZCBIQVYgdmFjY2luZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiQ291bnRyeSBpcyBhZG1pbmlzdGVyaW5nIGFuIEluYWN0aXZhdGVkIEhBViB2YWNjaW5lXCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Nzo2My00Nzo2NiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ4OjEtNDg6OTkiLAogICAgICAgICAgICAibmFtZSIgOiAiSW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyA8IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2giLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ1IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkluIGEgc2V0dGluZyB3aGVyZSB0aGUgcmlzayBvZiBtZWFzbGVzIGFtb25nIGluZmFudHMgPCA5IG1vbnRocyBvZiBhZ2UgcmVtYWlucyBoaWdoXCIiLCI6ICIsImZhbHNlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDg6OTUtNDg6OTkiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6MS00OTo1NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb3VudHJ5IGN1cnJlbnRseSBoYXMgYSBtZWFzbGVzIG91dGJyZWFrIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IGN1cnJlbnRseSBoYXMgYSBtZWFzbGVzIG91dGJyZWFrXCIiLCI6ICIsImZhbHNlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6NTItNDk6NTYiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MDo5MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQb3B1bGF0aW9uIGlzIGluIGNvbmZsaWN0IHpvbmVzIGludGVybmFsbHkgZGlzcGxhY2VkIHBvcHVsYXRpb25zIGFuZCByZWZ1Z2VlcyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiUG9wdWxhdGlvbiBpcyBpbiBjb25mbGljdCB6b25lcyBpbnRlcm5hbGx5IGRpc3BsYWNlZCBwb3B1bGF0aW9ucyBhbmQgcmVmdWdlZXNcIiIsIjogIiwiZmFsc2UiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDo4OS01MDo5MyIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZmFsc2UiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MToxLTUxOjcxIiwKICAgICAgICAgICAgIm5hbWUiIDogIkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBoaWdoIHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjUyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgaGlnaCB0cmFuc21pc3Npb24gb2YgTWVhc2xlc1wiIiwiOiIsImZhbHNlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6NjctNTE6NzEiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6MS01Mjo3MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgbG93IHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgbG93IHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzXCIiLCI6IiwiZmFsc2UiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo2Ni01Mjo3MCIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZmFsc2UiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU0OjQ3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgaGFzIFllbGxvdyBGZXZlciBFbmRlbWljIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IGhhcyBZZWxsb3cgRmV2ZXIgRW5kZW1pY1wiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6NDQtNTQ6NDciLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NToxLTU1OjUxIiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgcmVjb2duaXplcyBUQkUgYXMgYSBwcmlvcml0eSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1OCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiQ291bnRyeSByZWNvZ25pemVzIFRCRSBhcyBhIHByaW9yaXR5XCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NTo0OC01NTo1MSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjEtNTc6MTA5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgd2l0aCBNZW5pbmdvY29jY2FsIGJldHdlZW4gMyB0byA5IG1vbnRocyBvbGQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU5IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlRoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgd2l0aCBNZW5pbmdvY29jY2FsIGJldHdlZW4gMyB0byA5IG1vbnRocyBvbGRcIiIsIjogIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjEwNi01NzoxMDkiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODoxLTU4Ojc3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgcmVjb2duaXplcyBWYXJpY2VsbGEgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IHJlY29nbml6ZXMgVmFyaWNlbGxhIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlblwiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTg6NzQtNTg6NzciLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5Ojc3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgcmVjb2duaXplcyBNVU1QUyByZWR1Y3Rpb24gYXMgYSBwdWJsaWMgaGVhbHRoIHByaW9yaXR5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJDb3VudHJ5IHJlY29nbml6ZXMgTVVNUFMgcmVkdWN0aW9uIGFzIGEgcHVibGljIGhlYWx0aCBwcmlvcml0eVwiIiwiOiAiLCJ0cnVlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6NzQtNTk6NzciLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDoxLTYwOjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvdW50cnkgaXMgdXNpbmcgYSAzIGRvc2Ugc2VyaWVzIFJPVEEgcHJvZHVjdCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiQ291bnRyeSBpcyB1c2luZyBhIDMgZG9zZSBzZXJpZXMgUk9UQSBwcm9kdWN0XCIiLCI6ICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDo1Ny02MDo2MCIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic-2.json new file mode 100644 index 0000000000..ebefc57284 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic-2.json @@ -0,0 +1,3157 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "242", + "s" : [ { + "value" : [ "/*\n * Library: IMMZD2DTMeaslesLogic (IMMZ.D2.DT.Measles)\n * Rule: If the child or patient has not been given MCV1 (at 9 months) and MCV2 (between 15-18 months) vaccination \n * Trigger: Patient has never received measles vaccination\n */\n","library IMMZD2DTMeaslesLogic" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZD2DTMeaslesLogic", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "8:1-8:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "// Start Skeleton CQL\n","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "9:1-9:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "10:1-10:33", + "localIdentifier" : "IMMZCom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZCommon" ] + } ] + }, { + "value" : [ " called ","IMMZCom" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "11:1-11:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "12:1-12:33", + "localIdentifier" : "IMMZCon", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConfig", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConfig" ] + } ] + }, { + "value" : [ " called ","IMMZCon" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "13:1-13:40", + "localIdentifier" : "IMMZvl", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZVaccineLibrary", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZVaccineLibrary" ] + } ] + }, { + "value" : [ " called ","IMMZvl" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "14:1-14:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + } ] + }, + "parameters" : { + "def" : [ { + "localId" : "10", + "locator" : "16:1-16:83", + "name" : "Individual is at high risk of contracting measles", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "value" : [ "","parameter ","\"Individual is at high risk of contracting measles\""," " ] + }, { + "r" : "9", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "r" : "8", + "value" : [ " default ","false" ] + } ] + } + } ], + "default" : { + "localId" : "8", + "locator" : "16:79-16:83", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + }, + "parameterTypeSpecifier" : { + "localId" : "9", + "locator" : "16:63-16:69", + "name" : "{urn:hl7-org:elm-types:r1}Boolean", + "type" : "NamedTypeSpecifier" + } + }, { + "localId" : "13", + "locator" : "17:1-17:102", + "name" : "Individual is travelling to a country experiencing measles outbreaks", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "13", + "s" : [ { + "value" : [ "","parameter ","\"Individual is travelling to a country experiencing measles outbreaks\""," " ] + }, { + "r" : "12", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "r" : "11", + "value" : [ " default ","false" ] + } ] + } + } ], + "default" : { + "localId" : "11", + "locator" : "17:98-17:102", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + }, + "parameterTypeSpecifier" : { + "localId" : "12", + "locator" : "17:82-17:88", + "name" : "{urn:hl7-org:elm-types:r1}Boolean", + "type" : "NamedTypeSpecifier" + } + }, { + "localId" : "16", + "locator" : "18:1-18:83", + "name" : "Individual is known to be HIV-infected or exposed", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "16", + "s" : [ { + "value" : [ "","parameter ","\"Individual is known to be HIV-infected or exposed\""," " ] + }, { + "r" : "15", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "r" : "14", + "value" : [ " default ","false" ] + } ] + } + } ], + "default" : { + "localId" : "14", + "locator" : "18:79-18:83", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + }, + "parameterTypeSpecifier" : { + "localId" : "15", + "locator" : "18:63-18:69", + "name" : "{urn:hl7-org:elm-types:r1}Boolean", + "type" : "NamedTypeSpecifier" + } + }, { + "localId" : "19", + "locator" : "19:1-19:68", + "name" : "Immune reconstitution was achieved", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "19", + "s" : [ { + "value" : [ "","parameter ","\"Immune reconstitution was achieved\""," " ] + }, { + "r" : "18", + "s" : [ { + "value" : [ "Boolean" ] + } ] + }, { + "r" : "17", + "value" : [ " default ","false" ] + } ] + } + } ], + "default" : { + "localId" : "17", + "locator" : "19:64-19:68", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + }, + "parameterTypeSpecifier" : { + "localId" : "18", + "locator" : "19:48-19:54", + "name" : "{urn:hl7-org:elm-types:r1}Boolean", + "type" : "NamedTypeSpecifier" + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "22:1-22:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "22:1-22:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "38", + "locator" : "114:1-117:40", + "name" : "MCV Doses Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "38", + "s" : [ { + "value" : [ "/**\n * @dataElement MCV containing Doses Administered to Patient\n */\n","define ","\"MCV Doses Administered to Patient\"",":\n " ] + }, { + "r" : "37", + "s" : [ { + "s" : [ { + "r" : "31", + "s" : [ { + "r" : "30", + "s" : [ { + "s" : [ { + "value" : [ "IMMZCom",".","\"Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "36", + "s" : [ { + "value" : [ "where\n " ] + }, { + "r" : "36", + "s" : [ { + "r" : "33", + "s" : [ { + "r" : "32", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "vaccineCode" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "35", + "s" : [ { + "r" : "34", + "s" : [ { + "value" : [ "IMMZc" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "\"MCV Vaccine\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "37", + "locator" : "115:3-117:40", + "type" : "Query", + "source" : [ { + "localId" : "31", + "locator" : "115:3-115:43", + "alias" : "I", + "expression" : { + "localId" : "30", + "locator" : "115:3-115:41", + "name" : "Doses Administered to Patient", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "36", + "locator" : "116:3-117:40", + "type" : "InValueSet", + "code" : { + "name" : "ToConcept", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "33", + "locator" : "117:5-117:17", + "path" : "vaccineCode", + "scope" : "I", + "type" : "Property" + } ] + }, + "valueset" : { + "localId" : "35", + "locator" : "117:22-117:40", + "name" : "MCV Vaccine", + "libraryName" : "IMMZc" + } + } + } + }, { + "localId" : "57", + "locator" : "138:1-146:2", + "name" : "High Transmission Setting", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "57", + "s" : [ { + "value" : [ "","define ","\"High Transmission Setting\"",":\n\t" ] + }, { + "r" : "56", + "s" : [ { + "value" : [ "(\n\t\t" ] + }, { + "r" : "56", + "s" : [ { + "r" : "54", + "s" : [ { + "r" : "52", + "s" : [ { + "r" : "50", + "s" : [ { + "r" : "47", + "s" : [ { + "r" : "44", + "s" : [ { + "r" : "43", + "s" : [ { + "value" : [ "IMMZCon" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "44", + "s" : [ { + "value" : [ "\"Country currently has a measles outbreak\"" ] + } ] + } ] + }, { + "value" : [ " or\n\t\t" ] + }, { + "r" : "46", + "s" : [ { + "r" : "45", + "s" : [ { + "value" : [ "IMMZCon" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "46", + "s" : [ { + "value" : [ "\"In a setting where the risk of measles among infants < 9 months of age remains high\"" ] + } ] + } ] + } ] + }, { + "value" : [ " or\n\t\t" ] + }, { + "r" : "49", + "s" : [ { + "r" : "48", + "s" : [ { + "value" : [ "IMMZCon" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "\"Population is in conflict zones internally displaced populations and refugees\"" ] + } ] + } ] + } ] + }, { + "value" : [ " or \n\t\t" ] + }, { + "r" : "51", + "s" : [ { + "value" : [ "\"Individual is at high risk of contracting measles\"" ] + } ] + } ] + }, { + "value" : [ " or\n\t\t" ] + }, { + "r" : "53", + "s" : [ { + "value" : [ "\"Individual is travelling to a country experiencing measles outbreaks\"" ] + } ] + } ] + }, { + "value" : [ " or\n\t\t" ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "\"Individual is known to be HIV-infected or exposed\"" ] + } ] + } ] + }, { + "value" : [ "\n\t)" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "56", + "locator" : "139:2-146:2", + "type" : "Or", + "operand" : [ { + "localId" : "54", + "locator" : "140:3-144:72", + "type" : "Or", + "operand" : [ { + "localId" : "52", + "locator" : "140:3-143:53", + "type" : "Or", + "operand" : [ { + "localId" : "50", + "locator" : "140:3-142:89", + "type" : "Or", + "operand" : [ { + "localId" : "47", + "locator" : "140:3-141:95", + "type" : "Or", + "operand" : [ { + "localId" : "44", + "locator" : "140:3-140:52", + "name" : "Country currently has a measles outbreak", + "libraryName" : "IMMZCon", + "type" : "ExpressionRef" + }, { + "localId" : "46", + "locator" : "141:3-141:95", + "name" : "In a setting where the risk of measles among infants < 9 months of age remains high", + "libraryName" : "IMMZCon", + "type" : "ExpressionRef" + } ] + }, { + "localId" : "49", + "locator" : "142:3-142:89", + "name" : "Population is in conflict zones internally displaced populations and refugees", + "libraryName" : "IMMZCon", + "type" : "ExpressionRef" + } ] + }, { + "localId" : "51", + "locator" : "143:3-143:53", + "name" : "Individual is at high risk of contracting measles", + "type" : "ParameterRef" + } ] + }, { + "localId" : "53", + "locator" : "144:3-144:72", + "name" : "Individual is travelling to a country experiencing measles outbreaks", + "type" : "ParameterRef" + } ] + }, { + "localId" : "55", + "locator" : "145:3-145:53", + "name" : "Individual is known to be HIV-infected or exposed", + "type" : "ParameterRef" + } ] + } + }, { + "localId" : "82", + "locator" : "193:1-196:104", + "name" : "First MCV Dose Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "82", + "s" : [ { + "value" : [ "/*\ndefine \"Needs Zero MCV Dose\":\n\t\"No MCV Doses Administered to Patient\" \n\t and (\n\t\t\tif \"High Transmission Setting\" \n\t\t\tthen IMMZCom.\"Current Patient Age In Months\" between 6 and 9 \n\t\t\telse IMMZCom.\"Current Patient Age In Months\" between 6 and 12\n\t\t)\n\t\tand IMMZCom.\"Date of Latest Live Attenuated Vaccine\" +4 weeks <= Now()\n\t\tand \n\t\t\t(\n\t\t\t\t(\n\t\t\t\t\tIMMZCom.\"HIV Status\" in IMMZc.\"HIV status - HIV positive Choices\" \n\t\t\t\t\t and (\n\t\t\t\t\t not(IMMZCom.\"Patient is receiving HAART\")\n\t\t\t\t\t\t\tor \"Immune reconstitution was achieved\"\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\tor \"Individual is known to be HIV-infected or exposed\"\n\t\t\t)\n\ndefine \"Needs Supplementary MCV Dose\":\n\tIMMZCom.\"HIV Status\" in IMMZc.\"HIV status - HIV positive Choices\" \n\tand IMMZCom.\"Current Patient Age In Years\" < 15\n\tand IMMZCom.\"Patient is receiving HAART\"\n\tand \"Immune reconstitution was achieved\" \n\tand \"Supplementary MCV Dose Administered to Patient\" is null\n\tand IMMZCom.\"Date of Latest Live Attenuated Vaccine\" +4 weeks <= Now()\n*/\n\n/**\n * @dataElement Zero MCV dose given to Patient\n */\n//define \"Zero MCV Dose Administered to Patient\":\n//\tLast(\"MCV Doses Administered to Patient\" I where I.occurrence between Patient.birthDate + 6 months and Patient.birthDate + 9 months)\n\n/**\n * @dataElement Date Zero MCV dose administered\n */\n//define \"Date Zero MCV Dose Administered to Patient\":\n// date from (\"Zero MCV Dose Administered to Patient\".occurrence as FHIR.dateTime)\n\n/**\n * @dataElement First MCV dose given to Patient\n */\n","define ","\"First MCV Dose Administered to Patient\"",":\n\t" ] + }, { + "r" : "81", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "58", + "s" : [ { + "value" : [ "\"High Transmission Setting\"" ] + } ] + }, { + "value" : [ "\n\tthen " ] + }, { + "r" : "69", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "68", + "s" : [ { + "s" : [ { + "r" : "60", + "s" : [ { + "r" : "59", + "s" : [ { + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "67", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "67", + "s" : [ { + "r" : "62", + "s" : [ { + "r" : "61", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "62", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "r" : "67", + "value" : [ " ","after"," " ] + }, { + "r" : "66", + "s" : [ { + "r" : "64", + "s" : [ { + "r" : "63", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "64", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "65", + "s" : [ { + "value" : [ "9 ","months" ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "79", + "s" : [ { + "s" : [ { + "r" : "71", + "s" : [ { + "r" : "70", + "s" : [ { + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "78", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "78", + "s" : [ { + "r" : "73", + "s" : [ { + "r" : "72", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "73", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "r" : "78", + "value" : [ " ","after"," " ] + }, { + "r" : "77", + "s" : [ { + "r" : "75", + "s" : [ { + "r" : "74", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "75", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "76", + "s" : [ { + "value" : [ "12 ","months" ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "81", + "locator" : "194:2-196:104", + "type" : "If", + "condition" : { + "localId" : "58", + "locator" : "194:5-194:31", + "name" : "High Transmission Setting", + "type" : "ExpressionRef" + }, + "then" : { + "localId" : "69", + "locator" : "195:7-195:103", + "type" : "Last", + "source" : { + "localId" : "68", + "locator" : "195:12-195:102", + "type" : "Query", + "source" : [ { + "localId" : "60", + "locator" : "195:12-195:48", + "alias" : "I", + "expression" : { + "localId" : "59", + "locator" : "195:12-195:46", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "67", + "locator" : "195:50-195:102", + "type" : "After", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "asType" : "{http://hl7.org/fhir}dateTime", + "type" : "As", + "operand" : { + "localId" : "62", + "locator" : "195:56-195:67", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + } ] + }, { + "type" : "ToDateTime", + "operand" : { + "localId" : "66", + "locator" : "195:75-195:102", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "64", + "locator" : "195:75-195:91", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "63", + "locator" : "195:75-195:81", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "65", + "locator" : "195:95-195:102", + "value" : 9, + "unit" : "months", + "type" : "Quantity" + } ] + } + } ] + } + } + }, + "else" : { + "localId" : "80", + "locator" : "196:7-196:104", + "type" : "Last", + "source" : { + "localId" : "79", + "locator" : "196:12-196:103", + "type" : "Query", + "source" : [ { + "localId" : "71", + "locator" : "196:12-196:48", + "alias" : "I", + "expression" : { + "localId" : "70", + "locator" : "196:12-196:46", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "78", + "locator" : "196:50-196:103", + "type" : "After", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "asType" : "{http://hl7.org/fhir}dateTime", + "type" : "As", + "operand" : { + "localId" : "73", + "locator" : "196:56-196:67", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + } ] + }, { + "type" : "ToDateTime", + "operand" : { + "localId" : "77", + "locator" : "196:75-196:103", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "75", + "locator" : "196:75-196:91", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "74", + "locator" : "196:75-196:81", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "76", + "locator" : "196:95-196:103", + "value" : 12, + "unit" : "months", + "type" : "Quantity" + } ] + } + } ] + } + } + } + } + }, { + "localId" : "88", + "locator" : "200:1-201:82", + "name" : "Date First MCV Dose Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "88", + "s" : [ { + "value" : [ "/**\n * @dataElement Date first MCV dose administered\n */\n","define ","\"Date First MCV Dose Administered to Patient\"",":\n " ] + }, { + "r" : "87", + "s" : [ { + "value" : [ "date from " ] + }, { + "r" : "86", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "86", + "s" : [ { + "r" : "84", + "s" : [ { + "r" : "83", + "s" : [ { + "value" : [ "\"First MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "84", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "85", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "87", + "locator" : "201:3-201:82", + "type" : "DateFrom", + "operand" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "86", + "locator" : "201:13-201:82", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "84", + "locator" : "201:14-201:64", + "path" : "occurrence", + "type" : "Property", + "source" : { + "localId" : "83", + "locator" : "201:14-201:53", + "name" : "First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + }, + "asTypeSpecifier" : { + "localId" : "85", + "locator" : "201:69-201:81", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "103", + "locator" : "207:1-210:56", + "name" : "Second MCV Dose Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "103", + "s" : [ { + "value" : [ "/**\n * @dataElement \"Second MCV Dose Administered to Patient\"\n * only valid if 4 weeks after first dose\n */\n","define ","\"Second MCV Dose Administered to Patient\"",":\n " ] + }, { + "r" : "102", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "101", + "s" : [ { + "s" : [ { + "r" : "40", + "s" : [ { + "r" : "39", + "s" : [ { + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " \n\t\t" ] + }, { + "r" : "100", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "100", + "s" : [ { + "r" : "92", + "s" : [ { + "r" : "42", + "s" : [ { + "r" : "41", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "42", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "r" : "92", + "value" : [ " ","after"," " ] + }, { + "r" : "91", + "s" : [ { + "r" : "89", + "s" : [ { + "value" : [ "\"Date First MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "90", + "s" : [ { + "value" : [ "4 ","weeks" ] + } ] + } ] + } ] + }, { + "value" : [ " \n\t\t\tand " ] + }, { + "r" : "99", + "s" : [ { + "r" : "94", + "s" : [ { + "r" : "93", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "94", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "r" : "99", + "value" : [ " ","after"," " ] + }, { + "r" : "98", + "s" : [ { + "r" : "96", + "s" : [ { + "r" : "95", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "96", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "97", + "s" : [ { + "value" : [ "15 ","months" ] + } ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "102", + "locator" : "208:3-210:56", + "type" : "Last", + "source" : { + "localId" : "101", + "locator" : "208:8-210:55", + "type" : "Query", + "source" : [ { + "localId" : "40", + "locator" : "208:8-208:44", + "alias" : "I", + "expression" : { + "localId" : "39", + "locator" : "208:8-208:42", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "100", + "locator" : "209:3-210:55", + "type" : "And", + "operand" : [ { + "localId" : "92", + "locator" : "209:9-209:82", + "type" : "After", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "asType" : "{http://hl7.org/fhir}dateTime", + "type" : "As", + "operand" : { + "localId" : "42", + "locator" : "209:9-209:20", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + } ] + }, { + "type" : "ToDateTime", + "operand" : { + "localId" : "91", + "locator" : "209:28-209:82", + "type" : "Add", + "operand" : [ { + "localId" : "89", + "locator" : "209:28-209:72", + "name" : "Date First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + }, { + "localId" : "90", + "locator" : "209:76-209:82", + "value" : 4, + "unit" : "weeks", + "type" : "Quantity" + } ] + } + } ] + }, { + "localId" : "99", + "locator" : "210:8-210:55", + "type" : "After", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "asType" : "{http://hl7.org/fhir}dateTime", + "type" : "As", + "operand" : { + "localId" : "94", + "locator" : "210:8-210:19", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + } ] + }, { + "type" : "ToDateTime", + "operand" : { + "localId" : "98", + "locator" : "210:27-210:55", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "96", + "locator" : "210:27-210:43", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "95", + "locator" : "210:27-210:33", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "97", + "locator" : "210:47-210:55", + "value" : 15, + "unit" : "months", + "type" : "Quantity" + } ] + } + } ] + } ] + } + } + } + }, { + "localId" : "108", + "locator" : "28:1-36:2", + "name" : "Provision of the MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "108", + "s" : [ { + "value" : [ "/**\n * @dataElement Should provision MCV Dose\n */\n","define ","\"Provision of the MCV dose\"",":\n\t//not(\"MCV Dose Contraindicated\") and \n " ] + }, { + "r" : "107", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "22", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "21", + "s" : [ { + "r" : "20", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "\"Live Attenuated Vaccines\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "28", + "s" : [ { + "r" : "26", + "s" : [ { + "r" : "24", + "s" : [ { + "r" : "23", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "24", + "s" : [ { + "value" : [ "\"Date of Latest Live Attenuated Vaccine\"" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "25", + "s" : [ { + "value" : [ "4 ","weeks" ] + } ] + } ] + }, { + "value" : [ " ","<="," " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "Now","()" ] + } ] + } ] + }, { + "value" : [ " else " ] + }, { + "r" : "106", + "s" : [ { + "r" : "29", + "value" : [ "true","\n\tand " ] + }, { + "r" : "105", + "s" : [ { + "value" : [ "(\n\t\t" ] + }, { + "r" : "105", + "s" : [ { + "r" : "104", + "s" : [ { + "value" : [ "\"Second MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "value" : [ " \n\t\t//or (\n\t\t//\t\"Needs Supplementary MCV Dose\" and \"Supplementary MCV Dose Administered to Patient\" is null\n\t\t//)\n\t)" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "107", + "locator" : "30:3-36:2", + "type" : "If", + "condition" : { + "localId" : "22", + "locator" : "30:6-30:47", + "type" : "Exists", + "operand" : { + "localId" : "21", + "locator" : "30:12-30:47", + "name" : "Live Attenuated Vaccines", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + }, + "then" : { + "localId" : "28", + "locator" : "30:54-30:120", + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "26", + "locator" : "30:54-30:111", + "type" : "Add", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "24", + "locator" : "30:54-30:101", + "name" : "Date of Latest Live Attenuated Vaccine", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } ] + }, { + "localId" : "25", + "locator" : "30:105-30:111", + "value" : 4, + "unit" : "weeks", + "type" : "Quantity" + } ] + }, { + "localId" : "27", + "locator" : "30:116-30:120", + "type" : "Now" + } ] + }, + "else" : { + "localId" : "106", + "locator" : "30:127-36:2", + "type" : "And", + "operand" : [ { + "localId" : "29", + "locator" : "30:127-30:130", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "true", + "type" : "Literal" + }, { + "localId" : "105", + "locator" : "31:6-36:2", + "type" : "IsNull", + "operand" : { + "localId" : "104", + "locator" : "32:3-32:43", + "name" : "Second MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } ] + } + } + }, { + "localId" : "115", + "locator" : "122:1-123:49", + "name" : "No MCV Doses Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "115", + "s" : [ { + "value" : [ "/**\n * @define The patient has no MCV doses administered\n */\n","define ","\"No MCV Doses Administered to Patient\"",":\n " ] + }, { + "r" : "114", + "s" : [ { + "value" : [ "not " ] + }, { + "r" : "113", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "112", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "112", + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "114", + "locator" : "123:3-123:49", + "type" : "Not", + "operand" : { + "localId" : "113", + "locator" : "123:7-123:49", + "type" : "Exists", + "operand" : { + "localId" : "112", + "locator" : "123:13-123:49", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } + } + }, { + "localId" : "137", + "locator" : "44:1-55:4", + "name" : "Expected Due Date for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "137", + "s" : [ { + "value" : [ "","define ","\"Expected Due Date for MCV dose\"",":\n\t" ] + }, { + "r" : "136", + "s" : [ { + "value" : [ "case \n\t//when \"Needs Zero MCV Dose\"\n\t//\tthen Patient.birthDate + 6 months\n\t" ] + }, { + "r" : "127", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "116", + "s" : [ { + "value" : [ "\"No MCV Doses Administered to Patient\"" ] + } ] + }, { + "value" : [ "\n\t\tthen " ] + }, { + "r" : "126", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "117", + "s" : [ { + "value" : [ "\"High Transmission Setting\"" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "121", + "s" : [ { + "r" : "119", + "s" : [ { + "r" : "118", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "119", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "120", + "s" : [ { + "value" : [ "9 ","months" ] + } ] + } ] + }, { + "value" : [ " else " ] + }, { + "r" : "125", + "s" : [ { + "r" : "123", + "s" : [ { + "r" : "122", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "123", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "124", + "s" : [ { + "value" : [ "12 ","months" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t//when \"Second MCV Dose Administered to Patient\" is not null and \"Needs Supplementary MCV Dose\"\n\t//\tthen \"Date Second MCV Dose Administered to Patient\" + 4 weeks\n\t" ] + }, { + "r" : "134", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "129", + "s" : [ { + "r" : "128", + "s" : [ { + "value" : [ "\"First MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " is not null" ] + } ] + }, { + "value" : [ "\n\t\tthen " ] + }, { + "r" : "133", + "s" : [ { + "r" : "131", + "s" : [ { + "r" : "130", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "131", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "132", + "s" : [ { + "value" : [ "15 ","months" ] + } ] + } ] + } ] + }, { + "r" : "135", + "value" : [ "\n\telse ","null","\n\tend" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "136", + "locator" : "45:2-55:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "127", + "locator" : "48:2-49:106", + "when" : { + "localId" : "116", + "locator" : "48:7-48:44", + "name" : "No MCV Doses Administered to Patient", + "type" : "ExpressionRef" + }, + "then" : { + "localId" : "126", + "locator" : "49:8-49:106", + "type" : "If", + "condition" : { + "localId" : "117", + "locator" : "49:11-49:37", + "name" : "High Transmission Setting", + "type" : "ExpressionRef" + }, + "then" : { + "localId" : "121", + "locator" : "49:44-49:71", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "119", + "locator" : "49:44-49:60", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "118", + "locator" : "49:44-49:50", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "120", + "locator" : "49:64-49:71", + "value" : 9, + "unit" : "months", + "type" : "Quantity" + } ] + }, + "else" : { + "localId" : "125", + "locator" : "49:78-49:106", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "123", + "locator" : "49:78-49:94", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "122", + "locator" : "49:78-49:84", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "124", + "locator" : "49:98-49:106", + "value" : 12, + "unit" : "months", + "type" : "Quantity" + } ] + } + } + }, { + "localId" : "134", + "locator" : "52:2-53:36", + "when" : { + "localId" : "129", + "locator" : "52:7-52:58", + "type" : "Not", + "operand" : { + "locator" : "52:7-52:58", + "type" : "IsNull", + "operand" : { + "localId" : "128", + "locator" : "52:7-52:46", + "name" : "First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } + }, + "then" : { + "localId" : "133", + "locator" : "53:8-53:36", + "type" : "Add", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "131", + "locator" : "53:8-53:24", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "130", + "locator" : "53:8-53:14", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "132", + "locator" : "53:28-53:36", + "value" : 15, + "unit" : "months", + "type" : "Quantity" + } ] + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Date", + "type" : "As", + "operand" : { + "localId" : "135", + "locator" : "54:7-54:10", + "type" : "Null" + } + } + } + }, { + "localId" : "151", + "locator" : "39:1-42:64", + "name" : "Schedule Due Date for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "151", + "s" : [ { + "value" : [ "//and IMMZCom.\"Current Patient Age In Years\" < 15\n","define ","\"Schedule Due Date for MCV dose\"",":\n\t" ] + }, { + "r" : "150", + "s" : [ { + "value" : [ "if " ] + }, { + "r" : "144", + "s" : [ { + "r" : "111", + "s" : [ { + "r" : "110", + "s" : [ { + "r" : "109", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "110", + "s" : [ { + "value" : [ "\"Date of Latest Live Attenuated Vaccine\"" ] + } ] + } ] + }, { + "value" : [ " is null" ] + } ] + }, { + "value" : [ " or " ] + }, { + "r" : "143", + "s" : [ { + "r" : "138", + "s" : [ { + "value" : [ "\"Expected Due Date for MCV dose\"" ] + } ] + }, { + "value" : [ " ",">"," " ] + }, { + "r" : "142", + "s" : [ { + "r" : "140", + "s" : [ { + "r" : "139", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "140", + "s" : [ { + "value" : [ "\"Date of Latest Live Attenuated Vaccine\"" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "141", + "s" : [ { + "value" : [ "4 ","weeks" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n\tthen " ] + }, { + "r" : "145", + "s" : [ { + "value" : [ "\"Expected Due Date for MCV dose\"" ] + } ] + }, { + "value" : [ "\n\telse " ] + }, { + "r" : "149", + "s" : [ { + "r" : "147", + "s" : [ { + "r" : "146", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "147", + "s" : [ { + "value" : [ "\"Date of Latest Live Attenuated Vaccine\"" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "148", + "s" : [ { + "value" : [ "4 ","weeks" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "150", + "locator" : "40:2-42:64", + "type" : "If", + "condition" : { + "localId" : "144", + "locator" : "40:5-40:157", + "type" : "Or", + "operand" : [ { + "localId" : "111", + "locator" : "40:5-40:60", + "type" : "IsNull", + "operand" : { + "localId" : "110", + "locator" : "40:5-40:52", + "name" : "Date of Latest Live Attenuated Vaccine", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + }, { + "localId" : "143", + "locator" : "40:65-40:157", + "type" : "Greater", + "operand" : [ { + "type" : "ToDateTime", + "operand" : { + "localId" : "138", + "locator" : "40:65-40:96", + "name" : "Expected Due Date for MCV dose", + "type" : "ExpressionRef" + } + }, { + "localId" : "142", + "locator" : "40:100-40:157", + "type" : "Add", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "140", + "locator" : "40:100-40:147", + "name" : "Date of Latest Live Attenuated Vaccine", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } ] + }, { + "localId" : "141", + "locator" : "40:151-40:157", + "value" : 4, + "unit" : "weeks", + "type" : "Quantity" + } ] + } ] + } ] + }, + "then" : { + "type" : "ToDateTime", + "operand" : { + "localId" : "145", + "locator" : "41:7-41:38", + "name" : "Expected Due Date for MCV dose", + "type" : "ExpressionRef" + } + }, + "else" : { + "localId" : "149", + "locator" : "42:7-42:64", + "type" : "Add", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "147", + "locator" : "42:7-42:54", + "name" : "Date of Latest Live Attenuated Vaccine", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } ] + }, { + "localId" : "148", + "locator" : "42:58-42:64", + "value" : 4, + "unit" : "weeks", + "type" : "Quantity" + } ] + } + } + }, { + "localId" : "158", + "locator" : "58:1-72:5", + "name" : "MCV Next Dose Number", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "158", + "s" : [ { + "value" : [ "","define ","\"MCV Next Dose Number\"",":\n\t//if \"Needs Zero MCV Dose\" or \"Zero MCV Dose Administered to Patient\" is not null\n\t//then \n\t//\tcase \n\t//\twhen \"Second MCV Dose Administered to Patient\" is not null and \"Needs Supplementary MCV Dose\" then 'booster'\n\t//\twhen \"First MCV Dose Administered to Patient\" is not null then 2\n\t//\twhen \"Zero MCV Dose Administered to Patient\" is not null then 1\n\t//\telse 'zero'\n\t//\tend\n\t//else\n\t\t" ] + }, { + "r" : "157", + "s" : [ { + "value" : [ "case \n\t\t//when \"Second MCV Dose Administered to Patient\" is not null and \"Needs Supplementary MCV Dose\" then 'booster'\n\t\t" ] + }, { + "r" : "155", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "153", + "s" : [ { + "r" : "152", + "s" : [ { + "value" : [ "\"First MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " is not null" ] + } ] + }, { + "r" : "154", + "value" : [ " then ","2" ] + } ] + }, { + "r" : "156", + "value" : [ "\n\t\telse ","1","\n\t\tend" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "157", + "locator" : "68:3-72:5", + "type" : "Case", + "caseItem" : [ { + "localId" : "155", + "locator" : "70:3-70:66", + "when" : { + "localId" : "153", + "locator" : "70:8-70:59", + "type" : "Not", + "operand" : { + "locator" : "70:8-70:59", + "type" : "IsNull", + "operand" : { + "localId" : "152", + "locator" : "70:8-70:47", + "name" : "First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } + }, + "then" : { + "localId" : "154", + "locator" : "70:66", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } + } ], + "else" : { + "localId" : "156", + "locator" : "71:8", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } + } + }, { + "localId" : "160", + "locator" : "74:1-75:2", + "name" : "Number of Required MCV Doses", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "160", + "s" : [ { + "r" : "159", + "value" : [ "","define ","\"Number of Required MCV Doses\"",":\n\t","2" ] + } ] + } + } ], + "expression" : { + "localId" : "159", + "locator" : "75:2", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } + }, { + "localId" : "162", + "locator" : "77:1-83:5", + "name" : "Expiration Date for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "162", + "s" : [ { + "r" : "161", + "value" : [ "","define ","\"Expiration Date for MCV dose\"",":\n\t//case\n\t//when \"Needs Zero MCV Dose\"\n\t//\tthen Patient.birthDate + 9 months\n\t//else null\n\t//end\n\t","null" ] + } ] + } + } ], + "expression" : { + "localId" : "161", + "locator" : "83:2-83:5", + "type" : "Null" + } + }, { + "localId" : "164", + "locator" : "85:1-86:5", + "name" : "Overdue Date for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "164", + "s" : [ { + "r" : "163", + "value" : [ "","define ","\"Overdue Date for MCV dose\"",":\n\t","null" ] + } ] + } + } ], + "expression" : { + "localId" : "163", + "locator" : "86:2-86:5", + "type" : "Null" + } + }, { + "localId" : "172", + "locator" : "215:1-216:83", + "name" : "Date Second MCV Dose Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "172", + "s" : [ { + "value" : [ "/**\n * @dataElement Date second MCV dose administered\n */\n","define ","\"Date Second MCV Dose Administered to Patient\"",":\n " ] + }, { + "r" : "171", + "s" : [ { + "value" : [ "date from " ] + }, { + "r" : "170", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "170", + "s" : [ { + "r" : "168", + "s" : [ { + "r" : "167", + "s" : [ { + "value" : [ "\"Second MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "168", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "169", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "171", + "locator" : "216:3-216:83", + "type" : "DateFrom", + "operand" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "170", + "locator" : "216:13-216:83", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "168", + "locator" : "216:14-216:65", + "path" : "occurrence", + "type" : "Property", + "source" : { + "localId" : "167", + "locator" : "216:14-216:54", + "name" : "Second MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + }, + "asTypeSpecifier" : { + "localId" : "169", + "locator" : "216:70-216:82", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "181", + "locator" : "88:1-95:4", + "name" : "Date Last Valid MCV Dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "181", + "s" : [ { + "value" : [ "","define ","\"Date Last Valid MCV Dose\"",":\n\t" ] + }, { + "r" : "180", + "s" : [ { + "value" : [ "case \n\t//when \"Supplementary MCV Dose Administered to Patient\" is not null then \"Date Supplementary MCV Dose Administered to Patient\"\n\t" ] + }, { + "r" : "174", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "166", + "s" : [ { + "r" : "165", + "s" : [ { + "value" : [ "\"Second MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " is not null" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "173", + "s" : [ { + "value" : [ "\"Date Second MCV Dose Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ "\n\t" ] + }, { + "r" : "178", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "176", + "s" : [ { + "r" : "175", + "s" : [ { + "value" : [ "\"First MCV Dose Administered to Patient\"" ] + } ] + }, { + "value" : [ " is not null" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "177", + "s" : [ { + "value" : [ "\"Date First MCV Dose Administered to Patient\"" ] + } ] + } ] + }, { + "r" : "179", + "value" : [ "\n\t//when \"Zero MCV Dose Administered to Patient\" is not null then \"Date Zero MCV Dose Administered to Patient\"\n\telse ","null","\n\tend" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "180", + "locator" : "89:2-95:4", + "type" : "Case", + "caseItem" : [ { + "localId" : "174", + "locator" : "91:2-91:111", + "when" : { + "localId" : "166", + "locator" : "91:7-91:59", + "type" : "Not", + "operand" : { + "locator" : "91:7-91:59", + "type" : "IsNull", + "operand" : { + "localId" : "165", + "locator" : "91:7-91:47", + "name" : "Second MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } + }, + "then" : { + "localId" : "173", + "locator" : "91:66-91:111", + "name" : "Date Second MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "178", + "locator" : "92:2-92:109", + "when" : { + "localId" : "176", + "locator" : "92:7-92:58", + "type" : "Not", + "operand" : { + "locator" : "92:7-92:58", + "type" : "IsNull", + "operand" : { + "localId" : "175", + "locator" : "92:7-92:46", + "name" : "First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } + }, + "then" : { + "localId" : "177", + "locator" : "92:65-92:109", + "name" : "Date First MCV Dose Administered to Patient", + "type" : "ExpressionRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Date", + "type" : "As", + "operand" : { + "localId" : "179", + "locator" : "94:7-94:10", + "type" : "Null" + } + } + } + }, { + "localId" : "187", + "locator" : "97:1-98:78", + "name" : "Should vaccinate patient for MCV", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "187", + "s" : [ { + "value" : [ "","define ","\"Should vaccinate patient for MCV\"",":\n\t" ] + }, { + "r" : "186", + "s" : [ { + "r" : "182", + "s" : [ { + "value" : [ "\"Provision of the MCV dose\"" ] + } ] + }, { + "value" : [ " and " ] + }, { + "r" : "185", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "185", + "s" : [ { + "r" : "183", + "s" : [ { + "value" : [ "\"Schedule Due Date for MCV dose\"" ] + } ] + }, { + "value" : [ " ","<="," " ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "Now","()" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "186", + "locator" : "98:2-98:78", + "type" : "And", + "operand" : [ { + "localId" : "182", + "locator" : "98:2-98:28", + "name" : "Provision of the MCV dose", + "type" : "ExpressionRef" + }, { + "localId" : "185", + "locator" : "98:34-98:78", + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "183", + "locator" : "98:35-98:66", + "name" : "Schedule Due Date for MCV dose", + "type" : "ExpressionRef" + }, { + "localId" : "184", + "locator" : "98:71-98:77", + "type" : "Now" + } ] + } ] + } + }, { + "localId" : "194", + "locator" : "100:1-102:57", + "name" : "MCV Dose Contraindicated", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "194", + "s" : [ { + "value" : [ "","define ","\"MCV Dose Contraindicated\"",":\n\t" ] + }, { + "r" : "193", + "s" : [ { + "r" : "189", + "s" : [ { + "r" : "188", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "189", + "s" : [ { + "value" : [ "\"Pregnant\"" ] + } ] + } ] + }, { + "value" : [ "\n\tor " ] + }, { + "r" : "192", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "191", + "s" : [ { + "r" : "190", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "\"Severely Immunosuppressed Condition\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "193", + "locator" : "101:2-102:57", + "type" : "Or", + "operand" : [ { + "localId" : "189", + "locator" : "101:2-101:19", + "name" : "Pregnant", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + }, { + "localId" : "192", + "locator" : "102:5-102:57", + "type" : "Exists", + "operand" : { + "localId" : "191", + "locator" : "102:11-102:57", + "name" : "Severely Immunosuppressed Condition", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ] + } + }, { + "localId" : "209", + "locator" : "104:1-109:2", + "name" : "Contraindication Evaluation of the MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "209", + "s" : [ { + "value" : [ "","define ","\"Contraindication Evaluation of the MCV dose\"",":\n\t" ] + }, { + "r" : "208", + "s" : [ { + "r" : "196", + "s" : [ { + "value" : [ "not" ] + }, { + "r" : "195", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "195", + "s" : [ { + "value" : [ "\"MCV Dose Contraindicated\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " and " ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "(\n\t\t" ] + }, { + "r" : "207", + "s" : [ { + "r" : "203", + "s" : [ { + "r" : "199", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "198", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "198", + "s" : [ { + "r" : "197", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "198", + "s" : [ { + "value" : [ "\"History of Anaphylactic Reactions Condition\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n\t\tor " ] + }, { + "r" : "202", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "201", + "s" : [ { + "r" : "200", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "\"Severe Allergic Reactions Condition\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\tor " ] + }, { + "r" : "206", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "205", + "s" : [ { + "r" : "204", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "\"Symptomatic HIV Infection Condition\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t)" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "208", + "locator" : "105:2-109:2", + "type" : "And", + "operand" : [ { + "localId" : "196", + "locator" : "105:2-105:32", + "type" : "Not", + "operand" : { + "localId" : "195", + "locator" : "105:5-105:32", + "name" : "MCV Dose Contraindicated", + "type" : "ExpressionRef" + } + }, { + "localId" : "207", + "locator" : "105:38-109:2", + "type" : "Or", + "operand" : [ { + "localId" : "203", + "locator" : "106:3-107:58", + "type" : "Or", + "operand" : [ { + "localId" : "199", + "locator" : "106:3-106:63", + "type" : "Exists", + "operand" : { + "localId" : "198", + "locator" : "106:9-106:63", + "name" : "History of Anaphylactic Reactions Condition", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + }, { + "localId" : "202", + "locator" : "107:6-107:58", + "type" : "Exists", + "operand" : { + "localId" : "201", + "locator" : "107:12-107:58", + "name" : "Severe Allergic Reactions Condition", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "206", + "locator" : "108:6-108:58", + "type" : "Exists", + "operand" : { + "localId" : "205", + "locator" : "108:12-108:58", + "name" : "Symptomatic HIV Infection Condition", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ] + } ] + } + }, { + "localId" : "216", + "locator" : "129:1-130:84", + "name" : "Date Last MCV Dose Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "216", + "s" : [ { + "value" : [ "/** \n * @dataElement Date of last MCV dose administration\n */\n","define ","\"Date Last MCV Dose Administered to Patient\"",":\n " ] + }, { + "r" : "215", + "s" : [ { + "value" : [ "date from " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "214", + "s" : [ { + "r" : "212", + "s" : [ { + "r" : "211", + "s" : [ { + "value" : [ "First","(" ] + }, { + "r" : "210", + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "212", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "213", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "215", + "locator" : "130:3-130:84", + "type" : "DateFrom", + "operand" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "214", + "locator" : "130:13-130:84", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "212", + "locator" : "130:14-130:66", + "path" : "occurrence", + "type" : "Property", + "source" : { + "localId" : "211", + "locator" : "130:14-130:55", + "type" : "First", + "source" : { + "localId" : "210", + "locator" : "130:20-130:54", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } + }, + "asTypeSpecifier" : { + "localId" : "213", + "locator" : "130:71-130:83", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + }, { + "localId" : "219", + "locator" : "135:1-136:44", + "name" : "Number of MCV Doses Administered to Patient", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "219", + "s" : [ { + "value" : [ "/**\n * @define The number of MCV doses administerd to the patient\n */\n","define ","\"Number of MCV Doses Administered to Patient\"",":\n " ] + }, { + "r" : "218", + "s" : [ { + "value" : [ "Count","(" ] + }, { + "r" : "217", + "s" : [ { + "value" : [ "\"MCV Doses Administered to Patient\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "218", + "locator" : "136:3-136:44", + "type" : "Count", + "source" : { + "localId" : "217", + "locator" : "136:9-136:43", + "name" : "MCV Doses Administered to Patient", + "type" : "ExpressionRef" + } + } + }, { + "localId" : "238", + "locator" : "232:1-234:53", + "name" : "Draft Medication Request for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "238", + "s" : [ { + "value" : [ "/**\n * @dataElement \"Second MCV Dose Administered to Patient\"\n * only valid if 4 weeks after first dose\n */\n//define \"Supplementary MCV Dose Administered to Patient\":\n// Last(\"MCV Doses Administered to Patient\" I where I.occurrence after \"Date Second MCV Dose Administered to Patient\")\n\n/**\n * @dataElement Date second MCV dose administered\n */\n//define \"Date Supplementary MCV Dose Administered to Patient\":\n// date from (\"Supplementary MCV Dose Administered to Patient\".occurrence as FHIR.dateTime)","define ","\"Draft Medication Request for MCV dose\"",":\n\t" ] + }, { + "r" : "237", + "s" : [ { + "s" : [ { + "r" : "221", + "s" : [ { + "r" : "220", + "s" : [ { + "r" : "220", + "s" : [ { + "value" : [ "[","MedicationRequest","]" ] + } ] + } ] + }, { + "value" : [ " ","MR" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "230", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "230", + "s" : [ { + "r" : "225", + "s" : [ { + "r" : "223", + "s" : [ { + "r" : "222", + "s" : [ { + "value" : [ "MR" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "223", + "s" : [ { + "value" : [ "status" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "'draft'" ] + } ] + } ] + }, { + "value" : [ " and " ] + }, { + "r" : "229", + "s" : [ { + "r" : "227", + "s" : [ { + "r" : "226", + "s" : [ { + "value" : [ "MR" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "227", + "s" : [ { + "value" : [ "intent" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "228", + "s" : [ { + "value" : [ "'proposal'" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t" ] + }, { + "r" : "236", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "235", + "s" : [ { + "r" : "234", + "s" : [ { + "value" : [ "date from " ] + }, { + "r" : "233", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "233", + "s" : [ { + "r" : "231", + "s" : [ { + "value" : [ "authoredOn" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "232", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ " desc" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "237", + "locator" : "233:2-234:53", + "type" : "Query", + "source" : [ { + "localId" : "221", + "locator" : "233:2-233:23", + "alias" : "MR", + "expression" : { + "localId" : "220", + "locator" : "233:2-233:20", + "dataType" : "{http://hl7.org/fhir}MedicationRequest", + "templateId" : "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "230", + "locator" : "233:25-233:76", + "type" : "And", + "operand" : [ { + "localId" : "225", + "locator" : "233:31-233:49", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "223", + "locator" : "233:31-233:39", + "path" : "status", + "scope" : "MR", + "type" : "Property" + } ] + }, { + "localId" : "224", + "locator" : "233:43-233:49", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "draft", + "type" : "Literal" + } ] + }, { + "localId" : "229", + "locator" : "233:55-233:76", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "227", + "locator" : "233:55-233:63", + "path" : "intent", + "scope" : "MR", + "type" : "Property" + } ] + }, { + "localId" : "228", + "locator" : "233:67-233:76", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "proposal", + "type" : "Literal" + } ] + } ] + }, + "sort" : { + "localId" : "236", + "locator" : "234:2-234:53", + "by" : [ { + "localId" : "235", + "locator" : "234:10-234:53", + "direction" : "desc", + "type" : "ByExpression", + "expression" : { + "localId" : "234", + "locator" : "234:10-234:48", + "type" : "DateFrom", + "operand" : { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "233", + "locator" : "234:20-234:48", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "231", + "locator" : "234:21-234:30", + "name" : "authoredOn", + "type" : "IdentifierRef" + }, + "asTypeSpecifier" : { + "localId" : "232", + "locator" : "234:35-234:47", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + } + } + } ] + } + } + }, { + "localId" : "242", + "locator" : "236:1-237:50", + "name" : "Draft Medication Request ID for MCV dose", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "242", + "s" : [ { + "value" : [ "","define ","\"Draft Medication Request ID for MCV dose\"",":\n\t" ] + }, { + "r" : "241", + "s" : [ { + "r" : "240", + "s" : [ { + "value" : [ "First","(" ] + }, { + "r" : "239", + "s" : [ { + "value" : [ "\"Draft Medication Request for MCV dose\"" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "241", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "241", + "locator" : "237:2-237:50", + "path" : "id", + "type" : "Property", + "source" : { + "localId" : "240", + "locator" : "237:2-237:47", + "type" : "First", + "source" : { + "localId" : "239", + "locator" : "237:8-237:46", + "name" : "Draft Medication Request for MCV dose", + "type" : "ExpressionRef" + } + } + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic.json new file mode 100644 index 0000000000..921d674534 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZD2DTMeaslesLogic.json @@ -0,0 +1,267 @@ +{ + "resourceType" : "Library", + "id" : "IMMZD2DTMeaslesLogic", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onIMMZCommon
depends-onIMMZConcepts
depends-onIMMZConfig
depends-onIMMZVaccineLibrary
depends-onFHIRCommon

Parameters

Individual is at high risk of contracting measlesin01boolean
Individual is travelling to a country experiencing measles outbreaksin01boolean
Individual is known to be HIV-infected or exposedin01boolean
Immune reconstitution was achievedin01boolean
Patientout01Patient
MCV Doses Administered to Patientout0*Immunization
High Transmission Settingout01boolean
First MCV Dose Administered to Patientout01Immunization
Date First MCV Dose Administered to Patientout01date
Second MCV Dose Administered to Patientout01Immunization
Provision of the MCV doseout01boolean
No MCV Doses Administered to Patientout01boolean
Expected Due Date for MCV doseout01date
Schedule Due Date for MCV doseout01dateTime
MCV Next Dose Numberout01integer
Number of Required MCV Dosesout01integer
Expiration Date for MCV doseout01Resource
Overdue Date for MCV doseout01Resource
Date Second MCV Dose Administered to Patientout01date
Date Last Valid MCV Doseout01date
Should vaccinate patient for MCVout01boolean
MCV Dose Contraindicatedout01boolean
Contraindication Evaluation of the MCV doseout01boolean
Date Last MCV Dose Administered to Patientout01date
Number of MCV Doses Administered to Patientout01integer
Draft Medication Request for MCV doseout0*MedicationRequest
Draft Medication Request ID for MCV doseout01id

Data Requirements

Type: MedicationRequest (MedicationRequest)

Contents

text/cql

/*\n * Library: IMMZD2DTMeaslesLogic (IMMZ.D2.DT.Measles)\n * Rule: If the child or patient has not been given MCV1 (at 9 months) and MCV2 (between 15-18 months) vaccination \n * Trigger: Patient has never received measles vaccination\n */\nlibrary IMMZD2DTMeaslesLogic\n// Start Skeleton CQL\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\ninclude IMMZCommon called IMMZCom\ninclude IMMZConcepts called IMMZc\ninclude IMMZConfig called IMMZCon\ninclude IMMZVaccineLibrary called IMMZvl\ninclude FHIRCommon called FC\n\nparameter "Individual is at high risk of contracting measles" Boolean default false\nparameter "Individual is travelling to a country experiencing measles outbreaks" Boolean default false\nparameter "Individual is known to be HIV-infected or exposed" Boolean default false\nparameter "Immune reconstitution was achieved" Boolean default false\n\n// End Skeleton CQL\ncontext Patient\n\n\n/**\n * @dataElement Should provision MCV Dose\n */\ndefine "Provision of the MCV dose":\n\t//not("MCV Dose Contraindicated") and \n  if exists(IMMZCom."Live Attenuated Vaccines") then IMMZCom."Date of Latest Live Attenuated Vaccine" + 4 weeks <= Now() else true\n\tand (\n\t\t"Second MCV Dose Administered to Patient" is null \n\t\t//or (\n\t\t//\t"Needs Supplementary MCV Dose" and "Supplementary MCV Dose Administered to Patient" is null\n\t\t//)\n\t)\n\t//and IMMZCom."Current Patient Age In Years" < 15\n\ndefine "Schedule Due Date for MCV dose":\n\tif IMMZCom."Date of Latest Live Attenuated Vaccine" is null or "Expected Due Date for MCV dose" > IMMZCom."Date of Latest Live Attenuated Vaccine" + 4 weeks\n\tthen "Expected Due Date for MCV dose"\n\telse IMMZCom."Date of Latest Live Attenuated Vaccine" + 4 weeks\n\ndefine "Expected Due Date for MCV dose":\n\tcase \n\t//when "Needs Zero MCV Dose"\n\t//\tthen Patient.birthDate + 6 months\n\twhen "No MCV Doses Administered to Patient"\n\t\tthen if "High Transmission Setting" then Patient.birthDate + 9 months else Patient.birthDate + 12 months\n\t//when "Second MCV Dose Administered to Patient" is not null and "Needs Supplementary MCV Dose"\n\t//\tthen "Date Second MCV Dose Administered to Patient" + 4 weeks\n\twhen "First MCV Dose Administered to Patient" is not null\n\t\tthen Patient.birthDate + 15 months\n\telse null\n\tend\n\n\ndefine "MCV Next Dose Number":\n\t//if "Needs Zero MCV Dose" or "Zero MCV Dose Administered to Patient" is not null\n\t//then \n\t//\tcase \n\t//\twhen "Second MCV Dose Administered to Patient" is not null and "Needs Supplementary MCV Dose" then 'booster'\n\t//\twhen "First MCV Dose Administered to Patient" is not null then 2\n\t//\twhen "Zero MCV Dose Administered to Patient" is not null then 1\n\t//\telse 'zero'\n\t//\tend\n\t//else\n\t\tcase \n\t\t//when "Second MCV Dose Administered to Patient" is not null and "Needs Supplementary MCV Dose" then 'booster'\n\t\twhen "First MCV Dose Administered to Patient" is not null then 2\n\t\telse 1\n\t\tend\n\ndefine "Number of Required MCV Doses":\n\t2\n\ndefine "Expiration Date for MCV dose":\n\t//case\n\t//when "Needs Zero MCV Dose"\n\t//\tthen Patient.birthDate + 9 months\n\t//else null\n\t//end\n\tnull\n\ndefine "Overdue Date for MCV dose":\n\tnull\n\ndefine "Date Last Valid MCV Dose":\n\tcase \n\t//when "Supplementary MCV Dose Administered to Patient" is not null then "Date Supplementary MCV Dose Administered to Patient"\n\twhen "Second MCV Dose Administered to Patient" is not null then "Date Second MCV Dose Administered to Patient"\n\twhen "First MCV Dose Administered to Patient" is not null then "Date First MCV Dose Administered to Patient"\n\t//when "Zero MCV Dose Administered to Patient" is not null then "Date Zero MCV Dose Administered to Patient"\n\telse null\n\tend\n\ndefine "Should vaccinate patient for MCV":\n\t"Provision of the MCV dose" and ("Schedule Due Date for MCV dose" <= (Now()))\n\ndefine "MCV Dose Contraindicated":\n\tIMMZCom."Pregnant"\n\tor exists(IMMZCom."Severely Immunosuppressed Condition")\n\ndefine "Contraindication Evaluation of the MCV dose":\n\tnot("MCV Dose Contraindicated") and (\n\t\texists(IMMZCom."History of Anaphylactic Reactions Condition")\n\t\tor exists(IMMZCom."Severe Allergic Reactions Condition")\n\t\tor exists(IMMZCom."Symptomatic HIV Infection Condition")\n\t)\n\t\n/**\n * @dataElement MCV containing Doses Administered to Patient\n */\ndefine "MCV Doses Administered to Patient":\n  IMMZCom."Doses Administered to Patient" I\n  where\n    I.vaccineCode in IMMZc."MCV Vaccine"\n\n/**\n * @define The patient has no MCV doses administered\n */\ndefine "No MCV Doses Administered to Patient":\n  not exists("MCV Doses Administered to Patient")\n\n\n/** \n * @dataElement Date of last MCV dose administration\n */\ndefine "Date Last MCV Dose Administered to Patient":\n  date from (First("MCV Doses Administered to Patient").occurrence as FHIR.dateTime)\n\n/**\n * @define The number of MCV doses administerd to the patient\n */\ndefine "Number of MCV Doses Administered to Patient":\n  Count("MCV Doses Administered to Patient")\n\ndefine "High Transmission Setting":\n\t(\n\t\tIMMZCon."Country currently has a measles outbreak" or\n\t\tIMMZCon."In a setting where the risk of measles among infants < 9 months of age remains high" or\n\t\tIMMZCon."Population is in conflict zones internally displaced populations and refugees" or \n\t\t"Individual is at high risk of contracting measles" or\n\t\t"Individual is travelling to a country experiencing measles outbreaks" or\n\t\t"Individual is known to be HIV-infected or exposed"\n\t)\n\n/*\ndefine "Needs Zero MCV Dose":\n\t"No MCV Doses Administered to Patient" \n\t  and (\n\t\t\tif "High Transmission Setting" \n\t\t\tthen IMMZCom."Current Patient Age In Months" between 6 and 9 \n\t\t\telse IMMZCom."Current Patient Age In Months" between 6 and 12\n\t\t)\n\t\tand IMMZCom."Date of Latest Live Attenuated Vaccine" +4 weeks <= Now()\n\t\tand \n\t\t\t(\n\t\t\t\t(\n\t\t\t\t\tIMMZCom."HIV Status" in IMMZc."HIV status - HIV positive Choices" \n\t\t\t\t\t  and (\n\t\t\t\t\t    not(IMMZCom."Patient is receiving HAART")\n\t\t\t\t\t\t\tor "Immune reconstitution was achieved"\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\tor "Individual is known to be HIV-infected or exposed"\n\t\t\t)\n\ndefine "Needs Supplementary MCV Dose":\n\tIMMZCom."HIV Status" in IMMZc."HIV status - HIV positive Choices" \n\tand IMMZCom."Current Patient Age In Years" < 15\n\tand IMMZCom."Patient is receiving HAART"\n\tand "Immune reconstitution was achieved" \n\tand "Supplementary MCV Dose Administered to Patient" is null\n\tand IMMZCom."Date of Latest Live Attenuated Vaccine" +4 weeks <= Now()\n*/\n\n/**\n * @dataElement Zero MCV dose given to Patient\n */\n//define "Zero MCV Dose Administered to Patient":\n//\tLast("MCV Doses Administered to Patient" I where I.occurrence between Patient.birthDate + 6 months and Patient.birthDate + 9 months)\n\n/**\n * @dataElement Date Zero MCV dose administered\n */\n//define "Date Zero MCV Dose Administered to Patient":\n//  date from ("Zero MCV Dose Administered to Patient".occurrence as FHIR.dateTime)\n\n/**\n * @dataElement First MCV dose given to Patient\n */\ndefine "First MCV Dose Administered to Patient":\n\tif "High Transmission Setting"\n\tthen Last("MCV Doses Administered to Patient" I where I.occurrence after Patient.birthDate + 9 months)\n\telse Last("MCV Doses Administered to Patient" I where I.occurrence after Patient.birthDate + 12 months)\n/**\n * @dataElement Date first MCV dose administered\n */\ndefine "Date First MCV Dose Administered to Patient":\n  date from ("First MCV Dose Administered to Patient".occurrence as FHIR.dateTime)\n\n/**\n * @dataElement "Second MCV Dose Administered to Patient"\n * only valid if 4 weeks after first dose\n */\ndefine "Second MCV Dose Administered to Patient":\n  Last("MCV Doses Administered to Patient" I \n\t\twhere I.occurrence after "Date First MCV Dose Administered to Patient" + 4 weeks \n\t\t\tand I.occurrence after Patient.birthDate + 15 months)\n\n/**\n * @dataElement Date second MCV dose administered\n */\ndefine "Date Second MCV Dose Administered to Patient":\n  date from ("Second MCV Dose Administered to Patient".occurrence as FHIR.dateTime)\n\n/**\n * @dataElement "Second MCV Dose Administered to Patient"\n * only valid if 4 weeks after first dose\n */\n//define "Supplementary MCV Dose Administered to Patient":\n//  Last("MCV Doses Administered to Patient" I where I.occurrence after "Date Second MCV Dose Administered to Patient")\n\n/**\n * @dataElement Date second MCV dose administered\n */\n//define "Date Supplementary MCV Dose Administered to Patient":\n//  date from ("Supplementary MCV Dose Administered to Patient".occurrence as FHIR.dateTime)\n\n\ndefine "Draft Medication Request for MCV dose":\n\t[MedicationRequest] MR where MR.status = 'draft' and MR.intent = 'proposal'\n\tsort by date from (authoredOn as FHIR.dateTime) desc\n\ndefine "Draft Medication Request ID for MCV dose":\n\tFirst("Draft Medication Request for MCV dose").id\n\n/*\n * Rule: Should vaccinate patient for measles (Supplementary) because no doses\n * Annotations:\n * \t - Provide measles immunization Supplementary dose - Using the "MCV0 Vaccine immunization - NO Previous" schedule (Supplementary dose zero)\n * \t - \n * Outputs:\n * \t - Immunize patient for Measles - No doses\n * \t - \n * References:\n * \t- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables\n * \t- \n * Logic:\n *\t ((((((((((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("HIV Status" = "Positive" = true)) and ("Current Patient Age in Months" < 9)) and ("Patient is receiving HAART" = false)) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("Country currently has a measles outbreak" = true)) and ("Current Patient Age in Months" < 9))) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("In a setting where the risk of measles among infants < 9 months of age remains high" = true)) and ("Current Patient Age in Months" < 9))) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("Population is in conflict zones internally displaced populations and refugees" = true)) and ("Current Patient Age in Months" < 9))) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("Individual is at high risk of contracting measles (e.g. contacts of known measles cases or in settings with increased risk of exposure during outbreaks suck as day-care facilities" = true)) and ("Current Patient Age in Months" < 9))) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("Individual is travelling to a country experiencing measles outbreaks" = true)) and ("Current Patient Age in Months" < 9))) or (((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" > 6)) and ("Individual is known to be HIV-infected or exposed (i.e. born to an HIV-infected woman" = true)) and ("Current Patient Age in Months" < 9)))\n */\n /*\ndefine "Should vaccinate patient for measles (Supplementary) because no doses":\n\tIMMZCom."No MCV Doses Administered to Patient" and \n\t(\n\t\tIMMZCom."Current Patient Age In Months" between 6 and 9 and\n\t\t(\n\t\t\t(\n\t\t\t\tIMMZCom."HIV Status" in IMMZc."HIV status - HIV positive Choices" and\n\t\t\t\tnot(IMMZCom."Patient is receiving HAART")\n\t\t\t)\n\t\t\tor \n\t\t\t(\n\t\t\t\tIMMZCon."Country currently has a measles outbreak" or\n\t\t\t\tIMMZCon."In a setting where the risk of measles among infants < 9 months of age remains high" or\n\t\t\t\tIMMZCon."Population is in conflict zones internally displaced populations and refugees" or \n\t\t\t\t"Individual is at high risk of contracting measles" or\n\t\t\t\t"Individual is travelling to a country experiencing measles outbreaks" or\n\t\t\t\t"Individual is known to be HIV-infected or exposed"\n\t\t\t)\n\t\t)\n\t)\n*/\n\n/*\n * Rule: Should vaccinate patient for measles because no doses in a 2 dose scheme\n * Annotations:\n * \t - Provide measles immunization 1st dose - Using the "MCV1 Vaccine immunization - NO Previous" schedule (2 doses scheme)\n * \t - \n * Outputs:\n * \t - Immunize patient for Measles - No doses\n * \t - \n * References:\n * \t- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables\n * \t- \n * Logic:\n *\t ((((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" >= 9)) and ("In a setting where there is high transmission of Measles" = true)) and ("Pregnancy Status" = false)) or ((("Measles vaccine immunization history" = "No-doses" = true) and ("Current Patient Age in Months" >= 12)) and ("In a setting where there is low transmission of Measles" = true)))\n */\n /*\ndefine "Should vaccinate patient for measles because no doses in a 2 dose scheme":\n\tIMMZCom."No MCV Doses Administered to Patient" and not(IMMZCom."Pregnant") and\n\t(\n\t\t(\n\t\t\tIMMZCom."Current Patient Age In Months" >= 9 and\n\t\t\tIMMZCon."In a setting where there is high transmission of Measles"\n\t\t) or (\n\t\t\tIMMZCom."Current Patient Age In Months" >= 12 and\n\t\t\tIMMZCon."In a setting where there is low transmission of Measles"\n\t\t)\n\t)\n*/\n\n/*\n * Rule: Should vaccinate patient for measles because 1 dose in a 2 dose scheme\n * Annotations:\n * \t - Provide measles immunization 1st dose - Using the "MCV2 Vaccine immunization - 1 Previous" schedule (2 doses scheme)\n * Outputs:\n * \t - Immunize patient for Measles - 1 Dose\n * References:\n * \t- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables\n * Logic:\n *\t (((("Measles vaccine immunization history" = "1-dose" = true) and ("Current Patient Age in Months" >= 15)) and ("Date last Measles dose given" >= "4 weeks")) and ("Pregnancy Status" = false))\n */\n /*\ndefine "Should vaccinate patient for measles because 1 dose in a 2 dose scheme":\n\tIMMZCom."Number of MCV Doses Administered to Patient" = 1 and\n\tIMMZCom."Current Patient Age In Months" >= 15 and\n\tIMMZCom."Date Last MCV Dose Administered to Patient" more than 4 'week' before Today() and\n\tnot (IMMZCom."Pregnant")\n*/\n\n/*\n * Rule: Should vaccinate patient for measles Supplementary dose because HIV positive and started HAART\n * Annotations:\n * \t - Provide measles immunization Supplementary dose - Using the "MCV Vaccine immunization" schedule (additional Supplementary dose)\n * \t - \n * Outputs:\n * \t - Immunize patient for Measles Supplementary\n * \t - \n * References:\n * \t- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables\n * \t- \n * Logic:\n *\t ((((("HIV Status" = "Positive" = true) and ("Patient is receiving HAART" = true)) and ("Immune reconstitution was achieved" = true)) and ("Pregnancy Status" = false)) or (((((("HIV Status" = "Positive" = true) and ("Patient is receiving HAART" = true)) and ("CD4+ T Lymphocyte monitoring is available" = false)) and ("Time since HAART was initiated in Months" >= 6)) and ("Time since HAART was initiated in Months" <= 12)) and ("Pregnancy Status" = false)))\n */\n /*\ndefine "Should vaccinate patient for measles Supplementary dose because HIV positive and started HAART":\n\tnot(IMMZCom."Pregnant") and\n\tIMMZCom."HIV Status" in IMMZc."HIV status - HIV positive Choices" and\n\tIMMZCom."Patient is receiving HAART" and \n\t(\n\n\t\t"Immune reconstitution was achieved" or\n\t\tnot exists(IMMZCom."Observed CD4% Measurements")\n\t\tand IMMZCom."Patient HAART Treatment Started 6 to 12 Months Ago"\n\t)\n*/\n

Content not shown - (application/elm+xml, size = 74Kb)

Content not shown - (application/elm+json, size = 129Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZD2DTMeaslesLogic", + "version" : "0.1.0", + "name" : "IMMZD2DTMeaslesLogic", + "title" : "IMMZD2DTMeaslesLogic", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines decision support logic for the D2.DT.Measles decision table in the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConfig" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZVaccineLibrary" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }], + "parameter" : [{ + "name" : "Individual is at high risk of contracting measles", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Individual is travelling to a country experiencing measles outbreaks", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Individual is known to be HIV-infected or exposed", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Immune reconstitution was achieved", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }, + { + "name" : "MCV Doses Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Immunization" + }, + { + "name" : "High Transmission Setting", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "First MCV Dose Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Date First MCV Dose Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "date" + }, + { + "name" : "Second MCV Dose Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Provision of the MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "No MCV Doses Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Expected Due Date for MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "date" + }, + { + "name" : "Schedule Due Date for MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "dateTime" + }, + { + "name" : "MCV Next Dose Number", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "integer" + }, + { + "name" : "Number of Required MCV Doses", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "integer" + }, + { + "name" : "Expiration Date for MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Resource" + }, + { + "name" : "Overdue Date for MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Resource" + }, + { + "name" : "Date Second MCV Dose Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "date" + }, + { + "name" : "Date Last Valid MCV Dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "date" + }, + { + "name" : "Should vaccinate patient for MCV", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "MCV Dose Contraindicated", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Contraindication Evaluation of the MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Date Last MCV Dose Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "date" + }, + { + "name" : "Number of MCV Doses Administered to Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "integer" + }, + { + "name" : "Draft Medication Request for MCV dose", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "MedicationRequest" + }, + { + "name" : "Draft Medication Request ID for MCV dose", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "id" + }], + "dataRequirement" : [{ + "type" : "MedicationRequest", + "profile" : ["http://hl7.org/fhir/StructureDefinition/MedicationRequest"] + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoKICogTGlicmFyeTogSU1NWkQyRFRNZWFzbGVzTG9naWMgKElNTVouRDIuRFQuTWVhc2xlcykKICogUnVsZTogSWYgdGhlIGNoaWxkIG9yIHBhdGllbnQgaGFzIG5vdCBiZWVuIGdpdmVuIE1DVjEgKGF0IDkgbW9udGhzKSBhbmQgTUNWMiAoYmV0d2VlbiAxNS0xOCBtb250aHMpIHZhY2NpbmF0aW9uIAogKiBUcmlnZ2VyOiBQYXRpZW50IGhhcyBuZXZlciByZWNlaXZlZCBtZWFzbGVzIHZhY2NpbmF0aW9uCiAqLwpsaWJyYXJ5IElNTVpEMkRUTWVhc2xlc0xvZ2ljCi8vIFN0YXJ0IFNrZWxldG9uIENRTAp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIElNTVpDb20KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjCmluY2x1ZGUgSU1NWkNvbmZpZyBjYWxsZWQgSU1NWkNvbgppbmNsdWRlIElNTVpWYWNjaW5lTGlicmFyeSBjYWxsZWQgSU1NWnZsCmluY2x1ZGUgRkhJUkNvbW1vbiBjYWxsZWQgRkMKCnBhcmFtZXRlciAiSW5kaXZpZHVhbCBpcyBhdCBoaWdoIHJpc2sgb2YgY29udHJhY3RpbmcgbWVhc2xlcyIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiSW5kaXZpZHVhbCBpcyB0cmF2ZWxsaW5nIHRvIGEgY291bnRyeSBleHBlcmllbmNpbmcgbWVhc2xlcyBvdXRicmVha3MiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIkluZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIkltbXVuZSByZWNvbnN0aXR1dGlvbiB3YXMgYWNoaWV2ZWQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQoKLy8gRW5kIFNrZWxldG9uIENRTApjb250ZXh0IFBhdGllbnQKCgovKioKICogQGRhdGFFbGVtZW50IFNob3VsZCBwcm92aXNpb24gTUNWIERvc2UKICovCmRlZmluZSAiUHJvdmlzaW9uIG9mIHRoZSBNQ1YgZG9zZSI6CgkvL25vdCgiTUNWIERvc2UgQ29udHJhaW5kaWNhdGVkIikgYW5kIAogIGlmIGV4aXN0cyhJTU1aQ29tLiJMaXZlIEF0dGVudWF0ZWQgVmFjY2luZXMiKSB0aGVuIElNTVpDb20uIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIiArIDQgd2Vla3MgPD0gTm93KCkgZWxzZSB0cnVlCglhbmQgKAoJCSJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG51bGwgCgkJLy9vciAoCgkJLy8JIk5lZWRzIFN1cHBsZW1lbnRhcnkgTUNWIERvc2UiIGFuZCAiU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbnVsbAoJCS8vKQoJKQoJLy9hbmQgSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCAxNQoKZGVmaW5lICJTY2hlZHVsZSBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UiOgoJaWYgSU1NWkNvbS4iRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUiIGlzIG51bGwgb3IgIkV4cGVjdGVkIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIgPiBJTU1aQ29tLiJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIgKyA0IHdlZWtzCgl0aGVuICJFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UiCgllbHNlIElNTVpDb20uIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIiArIDQgd2Vla3MKCmRlZmluZSAiRXhwZWN0ZWQgRHVlIERhdGUgZm9yIE1DViBkb3NlIjoKCWNhc2UgCgkvL3doZW4gIk5lZWRzIFplcm8gTUNWIERvc2UiCgkvLwl0aGVuIFBhdGllbnQuYmlydGhEYXRlICsgNiBtb250aHMKCXdoZW4gIk5vIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIKCQl0aGVuIGlmICJIaWdoIFRyYW5zbWlzc2lvbiBTZXR0aW5nIiB0aGVuIFBhdGllbnQuYmlydGhEYXRlICsgOSBtb250aHMgZWxzZSBQYXRpZW50LmJpcnRoRGF0ZSArIDEyIG1vbnRocwoJLy93aGVuICJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG5vdCBudWxsIGFuZCAiTmVlZHMgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSIKCS8vCXRoZW4gIkRhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiArIDQgd2Vla3MKCXdoZW4gIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBpcyBub3QgbnVsbAoJCXRoZW4gUGF0aWVudC5iaXJ0aERhdGUgKyAxNSBtb250aHMKCWVsc2UgbnVsbAoJZW5kCgoKZGVmaW5lICJNQ1YgTmV4dCBEb3NlIE51bWJlciI6CgkvL2lmICJOZWVkcyBaZXJvIE1DViBEb3NlIiBvciAiWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbm90IG51bGwKCS8vdGhlbiAKCS8vCWNhc2UgCgkvLwl3aGVuICJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG5vdCBudWxsIGFuZCAiTmVlZHMgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSIgdGhlbiAnYm9vc3RlcicKCS8vCXdoZW4gIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBpcyBub3QgbnVsbCB0aGVuIDIKCS8vCXdoZW4gIlplcm8gTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG5vdCBudWxsIHRoZW4gMQoJLy8JZWxzZSAnemVybycKCS8vCWVuZAoJLy9lbHNlCgkJY2FzZSAKCQkvL3doZW4gIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbm90IG51bGwgYW5kICJOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlIiB0aGVuICdib29zdGVyJwoJCXdoZW4gIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBpcyBub3QgbnVsbCB0aGVuIDIKCQllbHNlIDEKCQllbmQKCmRlZmluZSAiTnVtYmVyIG9mIFJlcXVpcmVkIE1DViBEb3NlcyI6CgkyCgpkZWZpbmUgIkV4cGlyYXRpb24gRGF0ZSBmb3IgTUNWIGRvc2UiOgoJLy9jYXNlCgkvL3doZW4gIk5lZWRzIFplcm8gTUNWIERvc2UiCgkvLwl0aGVuIFBhdGllbnQuYmlydGhEYXRlICsgOSBtb250aHMKCS8vZWxzZSBudWxsCgkvL2VuZAoJbnVsbAoKZGVmaW5lICJPdmVyZHVlIERhdGUgZm9yIE1DViBkb3NlIjoKCW51bGwKCmRlZmluZSAiRGF0ZSBMYXN0IFZhbGlkIE1DViBEb3NlIjoKCWNhc2UgCgkvL3doZW4gIlN1cHBsZW1lbnRhcnkgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG5vdCBudWxsIHRoZW4gIkRhdGUgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIKCXdoZW4gIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbm90IG51bGwgdGhlbiAiRGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiCgl3aGVuICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbm90IG51bGwgdGhlbiAiRGF0ZSBGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIKCS8vd2hlbiAiWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgaXMgbm90IG51bGwgdGhlbiAiRGF0ZSBaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IgoJZWxzZSBudWxsCgllbmQKCmRlZmluZSAiU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBNQ1YiOgoJIlByb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UiIGFuZCAoIlNjaGVkdWxlIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIgPD0gKE5vdygpKSkKCmRlZmluZSAiTUNWIERvc2UgQ29udHJhaW5kaWNhdGVkIjoKCUlNTVpDb20uIlByZWduYW50IgoJb3IgZXhpc3RzKElNTVpDb20uIlNldmVyZWx5IEltbXVub3N1cHByZXNzZWQgQ29uZGl0aW9uIikKCmRlZmluZSAiQ29udHJhaW5kaWNhdGlvbiBFdmFsdWF0aW9uIG9mIHRoZSBNQ1YgZG9zZSI6Cglub3QoIk1DViBEb3NlIENvbnRyYWluZGljYXRlZCIpIGFuZCAoCgkJZXhpc3RzKElNTVpDb20uIkhpc3Rvcnkgb2YgQW5hcGh5bGFjdGljIFJlYWN0aW9ucyBDb25kaXRpb24iKQoJCW9yIGV4aXN0cyhJTU1aQ29tLiJTZXZlcmUgQWxsZXJnaWMgUmVhY3Rpb25zIENvbmRpdGlvbiIpCgkJb3IgZXhpc3RzKElNTVpDb20uIlN5bXB0b21hdGljIEhJViBJbmZlY3Rpb24gQ29uZGl0aW9uIikKCSkKCQovKioKICogQGRhdGFFbGVtZW50IE1DViBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiAqLwpkZWZpbmUgIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgSU1NWkNvbS4iRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkKICB3aGVyZQogICAgSS52YWNjaW5lQ29kZSBpbiBJTU1aYy4iTUNWIFZhY2NpbmUiCgovKioKICogQGRlZmluZSBUaGUgcGF0aWVudCBoYXMgbm8gTUNWIGRvc2VzIGFkbWluaXN0ZXJlZAogKi8KZGVmaW5lICJObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIG5vdCBleGlzdHMoIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgoKLyoqIAogKiBAZGF0YUVsZW1lbnQgRGF0ZSBvZiBsYXN0IE1DViBkb3NlIGFkbWluaXN0cmF0aW9uCiAqLwpkZWZpbmUgIkRhdGUgTGFzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgZGF0ZSBmcm9tIChGaXJzdCgiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Iikub2NjdXJyZW5jZSBhcyBGSElSLmRhdGVUaW1lKQoKLyoqCiAqIEBkZWZpbmUgVGhlIG51bWJlciBvZiBNQ1YgZG9zZXMgYWRtaW5pc3RlcmQgdG8gdGhlIHBhdGllbnQKICovCmRlZmluZSAiTnVtYmVyIG9mIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgQ291bnQoIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgpkZWZpbmUgIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciOgoJKAoJCUlNTVpDb24uIkNvdW50cnkgY3VycmVudGx5IGhhcyBhIG1lYXNsZXMgb3V0YnJlYWsiIG9yCgkJSU1NWkNvbi4iSW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyA8IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2giIG9yCgkJSU1NWkNvbi4iUG9wdWxhdGlvbiBpcyBpbiBjb25mbGljdCB6b25lcyBpbnRlcm5hbGx5IGRpc3BsYWNlZCBwb3B1bGF0aW9ucyBhbmQgcmVmdWdlZXMiIG9yIAoJCSJJbmRpdmlkdWFsIGlzIGF0IGhpZ2ggcmlzayBvZiBjb250cmFjdGluZyBtZWFzbGVzIiBvcgoJCSJJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyIgb3IKCQkiSW5kaXZpZHVhbCBpcyBrbm93biB0byBiZSBISVYtaW5mZWN0ZWQgb3IgZXhwb3NlZCIKCSkKCi8qCmRlZmluZSAiTmVlZHMgWmVybyBNQ1YgRG9zZSI6CgkiTm8gTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiAKCSAgYW5kICgKCQkJaWYgIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciIAoJCQl0aGVuIElNTVpDb20uIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBiZXR3ZWVuIDYgYW5kIDkgCgkJCWVsc2UgSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGJldHdlZW4gNiBhbmQgMTIKCQkpCgkJYW5kIElNTVpDb20uIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIiArNCB3ZWVrcyA8PSBOb3coKQoJCWFuZCAKCQkJKAoJCQkJKAoJCQkJCUlNTVpDb20uIkhJViBTdGF0dXMiIGluIElNTVpjLiJISVYgc3RhdHVzIC0gSElWIHBvc2l0aXZlIENob2ljZXMiIAoJCQkJCSAgYW5kICgKCQkJCQkgICAgbm90KElNTVpDb20uIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUIikKCQkJCQkJCW9yICJJbW11bmUgcmVjb25zdGl0dXRpb24gd2FzIGFjaGlldmVkIgoJCQkJCQkpCgkJCQkpCgkJCQlvciAiSW5kaXZpZHVhbCBpcyBrbm93biB0byBiZSBISVYtaW5mZWN0ZWQgb3IgZXhwb3NlZCIKCQkJKQoKZGVmaW5lICJOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlIjoKCUlNTVpDb20uIkhJViBTdGF0dXMiIGluIElNTVpjLiJISVYgc3RhdHVzIC0gSElWIHBvc2l0aXZlIENob2ljZXMiIAoJYW5kIElNTVpDb20uIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgMTUKCWFuZCBJTU1aQ29tLiJQYXRpZW50IGlzIHJlY2VpdmluZyBIQUFSVCIKCWFuZCAiSW1tdW5lIHJlY29uc3RpdHV0aW9uIHdhcyBhY2hpZXZlZCIgCglhbmQgIlN1cHBsZW1lbnRhcnkgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGlzIG51bGwKCWFuZCBJTU1aQ29tLiJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIgKzQgd2Vla3MgPD0gTm93KCkKKi8KCi8qKgogKiBAZGF0YUVsZW1lbnQgWmVybyBNQ1YgZG9zZSBnaXZlbiB0byBQYXRpZW50CiAqLwovL2RlZmluZSAiWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6Ci8vCUxhc3QoIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSSB3aGVyZSBJLm9jY3VycmVuY2UgYmV0d2VlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDYgbW9udGhzIGFuZCBQYXRpZW50LmJpcnRoRGF0ZSArIDkgbW9udGhzKQoKLyoqCiAqIEBkYXRhRWxlbWVudCBEYXRlIFplcm8gTUNWIGRvc2UgYWRtaW5pc3RlcmVkCiAqLwovL2RlZmluZSAiRGF0ZSBaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKLy8gIGRhdGUgZnJvbSAoIlplcm8gTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm9jY3VycmVuY2UgYXMgRkhJUi5kYXRlVGltZSkKCi8qKgogKiBAZGF0YUVsZW1lbnQgRmlyc3QgTUNWIGRvc2UgZ2l2ZW4gdG8gUGF0aWVudAogKi8KZGVmaW5lICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CglpZiAiSGlnaCBUcmFuc21pc3Npb24gU2V0dGluZyIKCXRoZW4gTGFzdCgiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJIHdoZXJlIEkub2NjdXJyZW5jZSBhZnRlciBQYXRpZW50LmJpcnRoRGF0ZSArIDkgbW9udGhzKQoJZWxzZSBMYXN0KCJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkgd2hlcmUgSS5vY2N1cnJlbmNlIGFmdGVyIFBhdGllbnQuYmlydGhEYXRlICsgMTIgbW9udGhzKQovKioKICogQGRhdGFFbGVtZW50IERhdGUgZmlyc3QgTUNWIGRvc2UgYWRtaW5pc3RlcmVkCiAqLwpkZWZpbmUgIkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIGRhdGUgZnJvbSAoIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5vY2N1cnJlbmNlIGFzIEZISVIuZGF0ZVRpbWUpCgovKioKICogQGRhdGFFbGVtZW50ICJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiCiAqIG9ubHkgdmFsaWQgaWYgNCB3ZWVrcyBhZnRlciBmaXJzdCBkb3NlCiAqLwpkZWZpbmUgIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgTGFzdCgiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJIAoJCXdoZXJlIEkub2NjdXJyZW5jZSBhZnRlciAiRGF0ZSBGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgKyA0IHdlZWtzIAoJCQlhbmQgSS5vY2N1cnJlbmNlIGFmdGVyIFBhdGllbnQuYmlydGhEYXRlICsgMTUgbW9udGhzKQoKLyoqCiAqIEBkYXRhRWxlbWVudCBEYXRlIHNlY29uZCBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCmRlZmluZSAiRGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIGRhdGUgZnJvbSAoIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIub2NjdXJyZW5jZSBhcyBGSElSLmRhdGVUaW1lKQoKLyoqCiAqIEBkYXRhRWxlbWVudCAiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IgogKiBvbmx5IHZhbGlkIGlmIDQgd2Vla3MgYWZ0ZXIgZmlyc3QgZG9zZQogKi8KLy9kZWZpbmUgIlN1cHBsZW1lbnRhcnkgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgovLyAgTGFzdCgiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJIHdoZXJlIEkub2NjdXJyZW5jZSBhZnRlciAiRGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQoKLyoqCiAqIEBkYXRhRWxlbWVudCBEYXRlIHNlY29uZCBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCi8vZGVmaW5lICJEYXRlIFN1cHBsZW1lbnRhcnkgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgovLyAgZGF0ZSBmcm9tICgiU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIub2NjdXJyZW5jZSBhcyBGSElSLmRhdGVUaW1lKQoKCmRlZmluZSAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZSI6CglbTWVkaWNhdGlvblJlcXVlc3RdIE1SIHdoZXJlIE1SLnN0YXR1cyA9ICdkcmFmdCcgYW5kIE1SLmludGVudCA9ICdwcm9wb3NhbCcKCXNvcnQgYnkgZGF0ZSBmcm9tIChhdXRob3JlZE9uIGFzIEZISVIuZGF0ZVRpbWUpIGRlc2MKCmRlZmluZSAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBNQ1YgZG9zZSI6CglGaXJzdCgiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZSIpLmlkCgovKgogKiBSdWxlOiBTaG91bGQgdmFjY2luYXRlIHBhdGllbnQgZm9yIG1lYXNsZXMgKFN1cHBsZW1lbnRhcnkpIGJlY2F1c2Ugbm8gZG9zZXMKICogQW5ub3RhdGlvbnM6CiAqIAkgLSBQcm92aWRlIG1lYXNsZXMgaW1tdW5pemF0aW9uIFN1cHBsZW1lbnRhcnkgZG9zZSAtIFVzaW5nIHRoZSAiTUNWMCBWYWNjaW5lIGltbXVuaXphdGlvbiAtIE5PIFByZXZpb3VzIiBzY2hlZHVsZSAoU3VwcGxlbWVudGFyeSBkb3NlIHplcm8pCiAqIAkgLSAKICogT3V0cHV0czoKICogCSAtIEltbXVuaXplIHBhdGllbnQgZm9yIE1lYXNsZXMgLSBObyBkb3NlcwogKiAJIC0gCiAqIFJlZmVyZW5jZXM6CiAqIAktIFdITyByZWNvbW1lbmRhdGlvbnMgZm9yIHJvdXRpbmUgaW1tdW5pemF0aW9uIC0gc3VtbWFyeSB0YWJsZXM6IGh0dHBzOi8vd3d3Lndoby5pbnQvdGVhbXMvaW1tdW5pemF0aW9uLXZhY2NpbmVzLWFuZC1iaW9sb2dpY2Fscy9wb2xpY2llcy93aG8tcmVjb21tZW5kYXRpb25zLWZvci1yb3V0aW5lLWltbXVuaXphdGlvbi0tLXN1bW1hcnktdGFibGVzCiAqIAktIAogKiBMb2dpYzoKICoJICgoKCgoKCgoKCgoIk1lYXNsZXMgdmFjY2luZSBpbW11bml6YXRpb24gaGlzdG9yeSIgPSAiTm8tZG9zZXMiID0gdHJ1ZSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiID4gNikpIGFuZCAoIkhJViBTdGF0dXMiID0gIlBvc2l0aXZlIiA9IHRydWUpKSBhbmQgKCJDdXJyZW50IFBhdGllbnQgQWdlIGluIE1vbnRocyIgPCA5KSkgYW5kICgiUGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQiID0gZmFsc2UpKSBvciAoKCgoIk1lYXNsZXMgdmFjY2luZSBpbW11bml6YXRpb24gaGlzdG9yeSIgPSAiTm8tZG9zZXMiID0gdHJ1ZSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiID4gNikpIGFuZCAoIkNvdW50cnkgY3VycmVudGx5IGhhcyBhIG1lYXNsZXMgb3V0YnJlYWsiID0gdHJ1ZSkpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA8IDkpKSkgb3IgKCgoKCJNZWFzbGVzIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIk5vLWRvc2VzIiA9IHRydWUpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA+IDYpKSBhbmQgKCJJbiBhIHNldHRpbmcgd2hlcmUgdGhlIHJpc2sgb2YgbWVhc2xlcyBhbW9uZyBpbmZhbnRzIDwgOSBtb250aHMgb2YgYWdlIHJlbWFpbnMgaGlnaCIgPSB0cnVlKSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiIDwgOSkpKSBvciAoKCgoIk1lYXNsZXMgdmFjY2luZSBpbW11bml6YXRpb24gaGlzdG9yeSIgPSAiTm8tZG9zZXMiID0gdHJ1ZSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiID4gNikpIGFuZCAoIlBvcHVsYXRpb24gaXMgaW4gY29uZmxpY3Qgem9uZXMgaW50ZXJuYWxseSBkaXNwbGFjZWQgcG9wdWxhdGlvbnMgYW5kIHJlZnVnZWVzIiA9IHRydWUpKSBhbmQgKCJDdXJyZW50IFBhdGllbnQgQWdlIGluIE1vbnRocyIgPCA5KSkpIG9yICgoKCgiTWVhc2xlcyB2YWNjaW5lIGltbXVuaXphdGlvbiBoaXN0b3J5IiA9ICJOby1kb3NlcyIgPSB0cnVlKSBhbmQgKCJDdXJyZW50IFBhdGllbnQgQWdlIGluIE1vbnRocyIgPiA2KSkgYW5kICgiSW5kaXZpZHVhbCBpcyBhdCBoaWdoIHJpc2sgb2YgY29udHJhY3RpbmcgbWVhc2xlcyAoZS5nLiBjb250YWN0cyBvZiBrbm93biBtZWFzbGVzIGNhc2VzIG9yIGluIHNldHRpbmdzIHdpdGggaW5jcmVhc2VkIHJpc2sgb2YgZXhwb3N1cmUgZHVyaW5nIG91dGJyZWFrcyBzdWNrIGFzIGRheS1jYXJlIGZhY2lsaXRpZXMiID0gdHJ1ZSkpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA8IDkpKSkgb3IgKCgoKCJNZWFzbGVzIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIk5vLWRvc2VzIiA9IHRydWUpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA+IDYpKSBhbmQgKCJJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyIgPSB0cnVlKSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiIDwgOSkpKSBvciAoKCgoIk1lYXNsZXMgdmFjY2luZSBpbW11bml6YXRpb24gaGlzdG9yeSIgPSAiTm8tZG9zZXMiID0gdHJ1ZSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiID4gNikpIGFuZCAoIkluZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQgKGkuZS4gYm9ybiB0byBhbiBISVYtaW5mZWN0ZWQgd29tYW4iID0gdHJ1ZSkpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA8IDkpKSkKICovCiAvKgpkZWZpbmUgIlNob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgbWVhc2xlcyAoU3VwcGxlbWVudGFyeSkgYmVjYXVzZSBubyBkb3NlcyI6CglJTU1aQ29tLiJObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGFuZCAKCSgKCQlJTU1aQ29tLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgYmV0d2VlbiA2IGFuZCA5IGFuZAoJCSgKCQkJKAoJCQkJSU1NWkNvbS4iSElWIFN0YXR1cyIgaW4gSU1NWmMuIkhJViBzdGF0dXMgLSBISVYgcG9zaXRpdmUgQ2hvaWNlcyIgYW5kCgkJCQlub3QoSU1NWkNvbS4iUGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQiKQoJCQkpCgkJCW9yIAoJCQkoCgkJCQlJTU1aQ29uLiJDb3VudHJ5IGN1cnJlbnRseSBoYXMgYSBtZWFzbGVzIG91dGJyZWFrIiBvcgoJCQkJSU1NWkNvbi4iSW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyA8IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2giIG9yCgkJCQlJTU1aQ29uLiJQb3B1bGF0aW9uIGlzIGluIGNvbmZsaWN0IHpvbmVzIGludGVybmFsbHkgZGlzcGxhY2VkIHBvcHVsYXRpb25zIGFuZCByZWZ1Z2VlcyIgb3IgCgkJCQkiSW5kaXZpZHVhbCBpcyBhdCBoaWdoIHJpc2sgb2YgY29udHJhY3RpbmcgbWVhc2xlcyIgb3IKCQkJCSJJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyIgb3IKCQkJCSJJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkIgoJCQkpCgkJKQoJKQoqLwoKLyoKICogUnVsZTogU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBtZWFzbGVzIGJlY2F1c2Ugbm8gZG9zZXMgaW4gYSAyIGRvc2Ugc2NoZW1lCiAqIEFubm90YXRpb25zOgogKiAJIC0gUHJvdmlkZSBtZWFzbGVzIGltbXVuaXphdGlvbiAxc3QgZG9zZSAtIFVzaW5nIHRoZSAiTUNWMSBWYWNjaW5lIGltbXVuaXphdGlvbiAtIE5PIFByZXZpb3VzIiBzY2hlZHVsZSAoMiBkb3NlcyBzY2hlbWUpCiAqIAkgLSAKICogT3V0cHV0czoKICogCSAtIEltbXVuaXplIHBhdGllbnQgZm9yIE1lYXNsZXMgLSBObyBkb3NlcwogKiAJIC0gCiAqIFJlZmVyZW5jZXM6CiAqIAktIFdITyByZWNvbW1lbmRhdGlvbnMgZm9yIHJvdXRpbmUgaW1tdW5pemF0aW9uIC0gc3VtbWFyeSB0YWJsZXM6IGh0dHBzOi8vd3d3Lndoby5pbnQvdGVhbXMvaW1tdW5pemF0aW9uLXZhY2NpbmVzLWFuZC1iaW9sb2dpY2Fscy9wb2xpY2llcy93aG8tcmVjb21tZW5kYXRpb25zLWZvci1yb3V0aW5lLWltbXVuaXphdGlvbi0tLXN1bW1hcnktdGFibGVzCiAqIAktIAogKiBMb2dpYzoKICoJICgoKCgoIk1lYXNsZXMgdmFjY2luZSBpbW11bml6YXRpb24gaGlzdG9yeSIgPSAiTm8tZG9zZXMiID0gdHJ1ZSkgYW5kICgiQ3VycmVudCBQYXRpZW50IEFnZSBpbiBNb250aHMiID49IDkpKSBhbmQgKCJJbiBhIHNldHRpbmcgd2hlcmUgdGhlcmUgaXMgaGlnaCB0cmFuc21pc3Npb24gb2YgTWVhc2xlcyIgPSB0cnVlKSkgYW5kICgiUHJlZ25hbmN5IFN0YXR1cyIgPSBmYWxzZSkpIG9yICgoKCJNZWFzbGVzIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIk5vLWRvc2VzIiA9IHRydWUpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gTW9udGhzIiA+PSAxMikpIGFuZCAoIkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBsb3cgdHJhbnNtaXNzaW9uIG9mIE1lYXNsZXMiID0gdHJ1ZSkpKQogKi8KIC8qCmRlZmluZSAiU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBtZWFzbGVzIGJlY2F1c2Ugbm8gZG9zZXMgaW4gYSAyIGRvc2Ugc2NoZW1lIjoKCUlNTVpDb20uIk5vIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgYW5kIG5vdChJTU1aQ29tLiJQcmVnbmFudCIpIGFuZAoJKAoJCSgKCQkJSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDkgYW5kCgkJCUlNTVpDb24uIkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBoaWdoIHRyYW5zbWlzc2lvbiBvZiBNZWFzbGVzIgoJCSkgb3IgKAoJCQlJTU1aQ29tLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPj0gMTIgYW5kCgkJCUlNTVpDb24uIkluIGEgc2V0dGluZyB3aGVyZSB0aGVyZSBpcyBsb3cgdHJhbnNtaXNzaW9uIG9mIE1lYXNsZXMiCgkJKQoJKQoqLwoKLyoKICogUnVsZTogU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBtZWFzbGVzIGJlY2F1c2UgMSBkb3NlIGluIGEgMiBkb3NlIHNjaGVtZQogKiBBbm5vdGF0aW9uczoKICogCSAtIFByb3ZpZGUgbWVhc2xlcyBpbW11bml6YXRpb24gMXN0IGRvc2UgLSBVc2luZyB0aGUgIk1DVjIgVmFjY2luZSBpbW11bml6YXRpb24gLSAxIFByZXZpb3VzIiBzY2hlZHVsZSAoMiBkb3NlcyBzY2hlbWUpCiAqIE91dHB1dHM6CiAqIAkgLSBJbW11bml6ZSBwYXRpZW50IGZvciBNZWFzbGVzIC0gMSBEb3NlCiAqIFJlZmVyZW5jZXM6CiAqIAktIFdITyByZWNvbW1lbmRhdGlvbnMgZm9yIHJvdXRpbmUgaW1tdW5pemF0aW9uIC0gc3VtbWFyeSB0YWJsZXM6IGh0dHBzOi8vd3d3Lndoby5pbnQvdGVhbXMvaW1tdW5pemF0aW9uLXZhY2NpbmVzLWFuZC1iaW9sb2dpY2Fscy9wb2xpY2llcy93aG8tcmVjb21tZW5kYXRpb25zLWZvci1yb3V0aW5lLWltbXVuaXphdGlvbi0tLXN1bW1hcnktdGFibGVzCiAqIExvZ2ljOgogKgkgKCgoKCJNZWFzbGVzIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIjEtZG9zZSIgPSB0cnVlKSBhbmQgKCJDdXJyZW50IFBhdGllbnQgQWdlIGluIE1vbnRocyIgPj0gMTUpKSBhbmQgKCJEYXRlIGxhc3QgTWVhc2xlcyBkb3NlIGdpdmVuIiA+PSAiNCB3ZWVrcyIpKSBhbmQgKCJQcmVnbmFuY3kgU3RhdHVzIiA9IGZhbHNlKSkKICovCiAvKgpkZWZpbmUgIlNob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgbWVhc2xlcyBiZWNhdXNlIDEgZG9zZSBpbiBhIDIgZG9zZSBzY2hlbWUiOgoJSU1NWkNvbS4iTnVtYmVyIG9mIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgPSAxIGFuZAoJSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDE1IGFuZAoJSU1NWkNvbS4iRGF0ZSBMYXN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBtb3JlIHRoYW4gNCAnd2VlaycgYmVmb3JlIFRvZGF5KCkgYW5kCglub3QgKElNTVpDb20uIlByZWduYW50IikKKi8KCi8qCiAqIFJ1bGU6IFNob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgbWVhc2xlcyBTdXBwbGVtZW50YXJ5IGRvc2UgYmVjYXVzZSBISVYgcG9zaXRpdmUgYW5kIHN0YXJ0ZWQgSEFBUlQKICogQW5ub3RhdGlvbnM6CiAqIAkgLSBQcm92aWRlIG1lYXNsZXMgaW1tdW5pemF0aW9uIFN1cHBsZW1lbnRhcnkgZG9zZSAtIFVzaW5nIHRoZSAiTUNWIFZhY2NpbmUgaW1tdW5pemF0aW9uIiBzY2hlZHVsZSAoYWRkaXRpb25hbCBTdXBwbGVtZW50YXJ5IGRvc2UpCiAqIAkgLSAKICogT3V0cHV0czoKICogCSAtIEltbXVuaXplIHBhdGllbnQgZm9yIE1lYXNsZXMgU3VwcGxlbWVudGFyeQogKiAJIC0gCiAqIFJlZmVyZW5jZXM6CiAqIAktIFdITyByZWNvbW1lbmRhdGlvbnMgZm9yIHJvdXRpbmUgaW1tdW5pemF0aW9uIC0gc3VtbWFyeSB0YWJsZXM6IGh0dHBzOi8vd3d3Lndoby5pbnQvdGVhbXMvaW1tdW5pemF0aW9uLXZhY2NpbmVzLWFuZC1iaW9sb2dpY2Fscy9wb2xpY2llcy93aG8tcmVjb21tZW5kYXRpb25zLWZvci1yb3V0aW5lLWltbXVuaXphdGlvbi0tLXN1bW1hcnktdGFibGVzCiAqIAktIAogKiBMb2dpYzoKICoJICgoKCgoIkhJViBTdGF0dXMiID0gIlBvc2l0aXZlIiA9IHRydWUpIGFuZCAoIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUIiA9IHRydWUpKSBhbmQgKCJJbW11bmUgcmVjb25zdGl0dXRpb24gd2FzIGFjaGlldmVkIiA9IHRydWUpKSBhbmQgKCJQcmVnbmFuY3kgU3RhdHVzIiA9IGZhbHNlKSkgb3IgKCgoKCgoIkhJViBTdGF0dXMiID0gIlBvc2l0aXZlIiA9IHRydWUpIGFuZCAoIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUIiA9IHRydWUpKSBhbmQgKCJDRDQrIFQgTHltcGhvY3l0ZSBtb25pdG9yaW5nIGlzIGF2YWlsYWJsZSIgPSBmYWxzZSkpIGFuZCAoIlRpbWUgc2luY2UgSEFBUlQgd2FzIGluaXRpYXRlZCBpbiBNb250aHMiID49IDYpKSBhbmQgKCJUaW1lIHNpbmNlIEhBQVJUIHdhcyBpbml0aWF0ZWQgaW4gTW9udGhzIiA8PSAxMikpIGFuZCAoIlByZWduYW5jeSBTdGF0dXMiID0gZmFsc2UpKSkKICovCiAvKgpkZWZpbmUgIlNob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgbWVhc2xlcyBTdXBwbGVtZW50YXJ5IGRvc2UgYmVjYXVzZSBISVYgcG9zaXRpdmUgYW5kIHN0YXJ0ZWQgSEFBUlQiOgoJbm90KElNTVpDb20uIlByZWduYW50IikgYW5kCglJTU1aQ29tLiJISVYgU3RhdHVzIiBpbiBJTU1aYy4iSElWIHN0YXR1cyAtIEhJViBwb3NpdGl2ZSBDaG9pY2VzIiBhbmQKCUlNTVpDb20uIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUIiBhbmQgCgkoCgoJCSJJbW11bmUgcmVjb25zdGl0dXRpb24gd2FzIGFjaGlldmVkIiBvcgoJCW5vdCBleGlzdHMoSU1NWkNvbS4iT2JzZXJ2ZWQgQ0Q0JSBNZWFzdXJlbWVudHMiKQoJCWFuZCBJTU1aQ29tLiJQYXRpZW50IEhBQVJUIFRyZWF0bWVudCBTdGFydGVkIDYgdG8gMTIgTW9udGhzIEFnbyIKCSkKKi8K" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDJEVE1lYXNsZXNMb2dpYyAoSU1NWi5EMi5EVC5NZWFzbGVzKQogKiBSdWxlOiBJZiB0aGUgY2hpbGQgb3IgcGF0aWVudCBoYXMgbm90IGJlZW4gZ2l2ZW4gTUNWMSAoYXQgOSBtb250aHMpIGFuZCBNQ1YyIChiZXR3ZWVuIDE1LTE4IG1vbnRocykgdmFjY2luYXRpb24gCiAqIFRyaWdnZXI6IFBhdGllbnQgaGFzIG5ldmVyIHJlY2VpdmVkIG1lYXNsZXMgdmFjY2luYXRpb24KICovCmxpYnJhcnkgSU1NWkQyRFRNZWFzbGVzTG9naWM8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpEMkRUTWVhc2xlc0xvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijg6MS04OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBTdGFydCBTa2VsZXRvbiBDUUwKdXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9Ijk6MS05OjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjEwOjEtMTA6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWkNvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aQ29tPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjExOjEtMTE6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWmMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb25jZXB0czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpjPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjEyOjEtMTI6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWkNvbiIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb25maWciPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb25maWc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aQ29uPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEzOjEtMTM6NDAiIGxvY2FsSWRlbnRpZmllcj0iSU1NWnZsIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWlZhY2NpbmVMaWJyYXJ5Ij4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aVmFjY2luZUxpYnJhcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1admw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTQ6MS0xNDoyOCIgbG9jYWxJZGVudGlmaWVyPSJGQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBGQzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE2OjEtMTY6ODMiIG5hbWU9IkluZGl2aWR1YWwgaXMgYXQgaGlnaCByaXNrIG9mIGNvbnRyYWN0aW5nIG1lYXNsZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O0luZGl2aWR1YWwgaXMgYXQgaGlnaCByaXNrIG9mIGNvbnRyYWN0aW5nIG1lYXNsZXMmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSI4IiBsb2NhdG9yPSIxNjo3OS0xNjo4MyIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMTY6NjMtMTY6NjkiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMTc6MS0xNzoxMDIiIG5hbWU9IkluZGl2aWR1YWwgaXMgdHJhdmVsbGluZyB0byBhIGNvdW50cnkgZXhwZXJpZW5jaW5nIG1lYXNsZXMgb3V0YnJlYWtzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE3Ojk4LTE3OjEwMiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjE3OjgyLTE3Ojg4IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjE4OjEtMTg6ODMiIG5hbWU9IkluZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O0luZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPiBkZWZhdWx0IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIxODo3OS0xODo4MyIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjE4OjYzLTE4OjY5IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjE5OjEtMTk6NjgiIG5hbWU9IkltbXVuZSByZWNvbnN0aXR1dGlvbiB3YXMgYWNoaWV2ZWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O0ltbXVuZSByZWNvbnN0aXR1dGlvbiB3YXMgYWNoaWV2ZWQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPiBkZWZhdWx0IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIxOTo2NC0xOTo2OCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjE5OjQ4LTE5OjU0IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjI6MS0yMjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI6MS0yMjoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSIxMTQ6MS0xMTc6NDAiIG5hbWU9Ik1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRhdGFFbGVtZW50IE1DViBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiAqLwpkZWZpbmUgJnF1b3Q7TUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb20uJnF1b3Q7RG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWNjaW5lQ29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWmM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNQ1YgVmFjY2luZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSIxMTU6My0xMTc6NDAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjExNTozLTExNTo0MyIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMTE1OjMtMTE1OjQxIiBuYW1lPSJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjExNjozLTExNzo0MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjExNzo1LTExNzoxNyIgcGF0aD0idmFjY2luZUNvZGUiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjExNzoyMi0xMTc6NDAiIG5hbWU9Ik1DViBWYWNjaW5lIiBsaWJyYXJ5TmFtZT0iSU1NWmMiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NyIgbG9jYXRvcj0iMTM4OjEtMTQ2OjIiIG5hbWU9IkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmcmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+KAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q291bnRyeSBjdXJyZW50bHkgaGFzIGEgbWVhc2xlcyBvdXRicmVhayZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyAmbHQ7IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2gmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gb3IKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb3B1bGF0aW9uIGlzIGluIGNvbmZsaWN0IHpvbmVzIGludGVybmFsbHkgZGlzcGxhY2VkIHBvcHVsYXRpb25zIGFuZCByZWZ1Z2VlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBvciAKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5kaXZpZHVhbCBpcyBhdCBoaWdoIHJpc2sgb2YgY29udHJhY3RpbmcgbWVhc2xlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0luZGl2aWR1YWwgaXMgdHJhdmVsbGluZyB0byBhIGNvdW50cnkgZXhwZXJpZW5jaW5nIG1lYXNsZXMgb3V0YnJlYWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gb3IKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5kaXZpZHVhbCBpcyBrbm93biB0byBiZSBISVYtaW5mZWN0ZWQgb3IgZXhwb3NlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkpPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NiIgbG9jYXRvcj0iMTM5OjItMTQ2OjIiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSIxNDA6My0xNDQ6NzIiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIxNDA6My0xNDM6NTMiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSIxNDA6My0xNDI6ODkiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIxNDA6My0xNDE6OTUiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIxNDA6My0xNDA6NTIiIG5hbWU9IkNvdW50cnkgY3VycmVudGx5IGhhcyBhIG1lYXNsZXMgb3V0YnJlYWsiIGxpYnJhcnlOYW1lPSJJTU1aQ29uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NiIgbG9jYXRvcj0iMTQxOjMtMTQxOjk1IiBuYW1lPSJJbiBhIHNldHRpbmcgd2hlcmUgdGhlIHJpc2sgb2YgbWVhc2xlcyBhbW9uZyBpbmZhbnRzICZsdDsgOSBtb250aHMgb2YgYWdlIHJlbWFpbnMgaGlnaCIgbGlicmFyeU5hbWU9IklNTVpDb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkiIGxvY2F0b3I9IjE0MjozLTE0Mjo4OSIgbmFtZT0iUG9wdWxhdGlvbiBpcyBpbiBjb25mbGljdCB6b25lcyBpbnRlcm5hbGx5IGRpc3BsYWNlZCBwb3B1bGF0aW9ucyBhbmQgcmVmdWdlZXMiIGxpYnJhcnlOYW1lPSJJTU1aQ29uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSIxNDM6My0xNDM6NTMiIG5hbWU9IkluZGl2aWR1YWwgaXMgYXQgaGlnaCByaXNrIG9mIGNvbnRyYWN0aW5nIG1lYXNsZXMiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iMTQ0OjMtMTQ0OjcyIiBuYW1lPSJJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIxNDU6My0xNDU6NTMiIG5hbWU9IkluZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MiIgbG9jYXRvcj0iMTkzOjEtMTk2OjEwNCIgbmFtZT0iRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKZGVmaW5lICZxdW90O05lZWRzIFplcm8gTUNWIERvc2UmcXVvdDs6CgkmcXVvdDtObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDsgCgkgIGFuZCAoCgkJCWlmICZxdW90O0hpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmcmcXVvdDsgCgkJCXRoZW4gSU1NWkNvbS4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OyBiZXR3ZWVuIDYgYW5kIDkgCgkJCWVsc2UgSU1NWkNvbS4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OyBiZXR3ZWVuIDYgYW5kIDEyCgkJKQoJCWFuZCBJTU1aQ29tLiZxdW90O0RhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lJnF1b3Q7ICs0IHdlZWtzICZsdDs9IE5vdygpCgkJYW5kIAoJCQkoCgkJCQkoCgkJCQkJSU1NWkNvbS4mcXVvdDtISVYgU3RhdHVzJnF1b3Q7IGluIElNTVpjLiZxdW90O0hJViBzdGF0dXMgLSBISVYgcG9zaXRpdmUgQ2hvaWNlcyZxdW90OyAKCQkJCQkgIGFuZCAoCgkJCQkJICAgIG5vdChJTU1aQ29tLiZxdW90O1BhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUJnF1b3Q7KQoJCQkJCQkJb3IgJnF1b3Q7SW1tdW5lIHJlY29uc3RpdHV0aW9uIHdhcyBhY2hpZXZlZCZxdW90OwoJCQkJCQkpCgkJCQkpCgkJCQlvciAmcXVvdDtJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkJnF1b3Q7CgkJCSkKCmRlZmluZSAmcXVvdDtOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlJnF1b3Q7OgoJSU1NWkNvbS4mcXVvdDtISVYgU3RhdHVzJnF1b3Q7IGluIElNTVpjLiZxdW90O0hJViBzdGF0dXMgLSBISVYgcG9zaXRpdmUgQ2hvaWNlcyZxdW90OyAKCWFuZCBJTU1aQ29tLiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDsgJmx0OyAxNQoJYW5kIElNTVpDb20uJnF1b3Q7UGF0aWVudCBpcyByZWNlaXZpbmcgSEFBUlQmcXVvdDsKCWFuZCAmcXVvdDtJbW11bmUgcmVjb25zdGl0dXRpb24gd2FzIGFjaGlldmVkJnF1b3Q7IAoJYW5kICZxdW90O1N1cHBsZW1lbnRhcnkgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDsgaXMgbnVsbAoJYW5kIElNTVpDb20uJnF1b3Q7RGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUmcXVvdDsgKzQgd2Vla3MgJmx0Oz0gTm93KCkKKi8KCi8qKgogKiBAZGF0YUVsZW1lbnQgWmVybyBNQ1YgZG9zZSBnaXZlbiB0byBQYXRpZW50CiAqLwovL2RlZmluZSAmcXVvdDtaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgovLwlMYXN0KCZxdW90O01DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OyBJIHdoZXJlIEkub2NjdXJyZW5jZSBiZXR3ZWVuIFBhdGllbnQuYmlydGhEYXRlICsgNiBtb250aHMgYW5kIFBhdGllbnQuYmlydGhEYXRlICsgOSBtb250aHMpCgovKioKICogQGRhdGFFbGVtZW50IERhdGUgWmVybyBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCi8vZGVmaW5lICZxdW90O0RhdGUgWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKLy8gIGRhdGUgZnJvbSAoJnF1b3Q7WmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90Oy5vY2N1cnJlbmNlIGFzIEZISVIuZGF0ZVRpbWUpCgovKioKICogQGRhdGFFbGVtZW50IEZpcnN0IE1DViBkb3NlIGdpdmVuIHRvIFBhdGllbnQKICovCmRlZmluZSAmcXVvdDtGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGlnaCBUcmFuc21pc3Npb24gU2V0dGluZyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCXRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2NjdXJyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPiBhZnRlciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+OSBtb250aHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4gYWZ0ZXIgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjEyIG1vbnRoczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgxIiBsb2NhdG9yPSIxOTQ6Mi0xOTY6MTA0IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSIxOTQ6NS0xOTQ6MzEiIG5hbWU9IkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSIxOTU6Ny0xOTU6MTAzIiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjgiIGxvY2F0b3I9IjE5NToxMi0xOTU6MTAyIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYwIiBsb2NhdG9yPSIxOTU6MTItMTk1OjQ4IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSIxOTU6MTItMTk1OjQ2IiBuYW1lPSJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjE5NTo1MC0xOTU6MTAyIiB4c2k6dHlwZT0iQWZ0ZXIiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjIiIGxvY2F0b3I9IjE5NTo1Ni0xOTU6NjciIHBhdGg9Im9jY3VycmVuY2UiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjE5NTo3NS0xOTU6MTAyIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY0IiBsb2NhdG9yPSIxOTU6NzUtMTk1OjkxIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjE5NTo3NS0xOTU6ODEiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NSIgbG9jYXRvcj0iMTk1Ojk1LTE5NToxMDIiIHZhbHVlPSI5IiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjE5Njo3LTE5NjoxMDQiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iMTk2OjEyLTE5NjoxMDMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzEiIGxvY2F0b3I9IjE5NjoxMi0xOTY6NDgiIGFsaWFzPSJJIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjE5NjoxMi0xOTY6NDYiIG5hbWU9Ik1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI3OCIgbG9jYXRvcj0iMTk2OjUwLTE5NjoxMDMiIHhzaTp0eXBlPSJBZnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MyIgbG9jYXRvcj0iMTk2OjU2LTE5Njo2NyIgcGF0aD0ib2NjdXJyZW5jZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NyIgbG9jYXRvcj0iMTk2Ojc1LTE5NjoxMDMiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjE5Njo3NS0xOTY6OTEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NCIgbG9jYXRvcj0iMTk2Ojc1LTE5Njo4MSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSIxOTY6OTUtMTk2OjEwMyIgdmFsdWU9IjEyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4OCIgbG9jYXRvcj0iMjAwOjEtMjAxOjgyIiBuYW1lPSJEYXRlIEZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICA8YTpzPi8qKgogKiBAZGF0YUVsZW1lbnQgRGF0ZSBmaXJzdCBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCmRlZmluZSAmcXVvdDtEYXRlIEZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSIyMDE6My0yMDE6ODIiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODYiIGxvY2F0b3I9IjIwMToxMy0yMDE6ODIiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSIyMDE6MTQtMjAxOjY0IiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSIyMDE6MTQtMjAxOjUzIiBuYW1lPSJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSIyMDE6NjktMjAxOjgxIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iMjA3OjEtMjEwOjU2IiBuYW1lPSJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICA8YTpzPi8qKgogKiBAZGF0YUVsZW1lbnQgJnF1b3Q7U2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7CiAqIG9ubHkgdmFsaWQgaWYgNCB3ZWVrcyBhZnRlciBmaXJzdCBkb3NlCiAqLwpkZWZpbmUgJnF1b3Q7U2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGFzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2NjdXJyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPiBhZnRlciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjQgd2Vla3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gCgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2NjdXJyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPiBhZnRlciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MTUgbW9udGhzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSIyMDg6My0yMTA6NTYiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjIwODo4LTIxMDo1NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MCIgbG9jYXRvcj0iMjA4OjgtMjA4OjQ0IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSIyMDg6OC0yMDg6NDIiIG5hbWU9Ik1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMDAiIGxvY2F0b3I9IjIwOTozLTIxMDo1NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSIyMDk6OS0yMDk6ODIiIHhzaTp0eXBlPSJBZnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MiIgbG9jYXRvcj0iMjA5OjktMjA5OjIwIiBwYXRoPSJvY2N1cnJlbmNlIiBzY29wZT0iSSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSIyMDk6MjgtMjA5OjgyIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODkiIGxvY2F0b3I9IjIwOToyOC0yMDk6NzIiIG5hbWU9IkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkwIiBsb2NhdG9yPSIyMDk6NzYtMjA5OjgyIiB2YWx1ZT0iNCIgdW5pdD0id2Vla3MiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5OSIgbG9jYXRvcj0iMjEwOjgtMjEwOjU1IiB4c2k6dHlwZT0iQWZ0ZXIiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTQiIGxvY2F0b3I9IjIxMDo4LTIxMDoxOSIgcGF0aD0ib2NjdXJyZW5jZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5OCIgbG9jYXRvcj0iMjEwOjI3LTIxMDo1NSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iMjEwOjI3LTIxMDo0MyIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSIyMTA6MjctMjEwOjMzIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTciIGxvY2F0b3I9IjIxMDo0Ny0yMTA6NTUiIHZhbHVlPSIxNSIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA4IiBsb2NhdG9yPSIyODoxLTM2OjIiIG5hbWU9IlByb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICA8YTpzPi8qKgogKiBAZGF0YUVsZW1lbnQgU2hvdWxkIHByb3Zpc2lvbiBNQ1YgRG9zZQogKi8KZGVmaW5lICZxdW90O1Byb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UmcXVvdDs6CgkvL25vdCgmcXVvdDtNQ1YgRG9zZSBDb250cmFpbmRpY2F0ZWQmcXVvdDspIGFuZCAKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xpdmUgQXR0ZW51YXRlZCBWYWNjaW5lcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb208L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjQgd2Vla3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiAmbHQ7PSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm93KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPnRydWUKCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPigKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKCQkvL29yICgKCQkvLwkmcXVvdDtOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlJnF1b3Q7IGFuZCAmcXVvdDtTdXBwbGVtZW50YXJ5IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IGlzIG51bGwKCQkvLykKCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSIzMDozLTM2OjIiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjMwOjYtMzA6NDciIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMzA6MTItMzA6NDciIG5hbWU9IkxpdmUgQXR0ZW51YXRlZCBWYWNjaW5lcyIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMzA6NTQtMzA6MTIwIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNiIgbG9jYXRvcj0iMzA6NTQtMzA6MTExIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMzA6NTQtMzA6MTAxIiBuYW1lPSJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjMwOjEwNS0zMDoxMTEiIHZhbHVlPSI0IiB1bml0PSJ3ZWVrcyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjciIGxvY2F0b3I9IjMwOjExNi0zMDoxMjAiIHhzaTp0eXBlPSJOb3ciLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIxMDYiIGxvY2F0b3I9IjMwOjEyNy0zNjoyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkiIGxvY2F0b3I9IjMwOjEyNy0zMDoxMzAiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSIzMTo2LTM2OjIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDQiIGxvY2F0b3I9IjMyOjMtMzI6NDMiIG5hbWU9IlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSIxMjI6MS0xMjM6NDkiIG5hbWU9Ik5vIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExNSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIEBkZWZpbmUgVGhlIHBhdGllbnQgaGFzIG5vIE1DViBkb3NlcyBhZG1pbmlzdGVyZWQKICovCmRlZmluZSAmcXVvdDtObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNCIgbG9jYXRvcj0iMTIzOjMtMTIzOjQ5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEzIiBsb2NhdG9yPSIxMjM6Ny0xMjM6NDkiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTIiIGxvY2F0b3I9IjEyMzoxMy0xMjM6NDkiIG5hbWU9Ik1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNyIgbG9jYXRvcj0iNDQ6MS01NTo0IiBuYW1lPSJFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCgkvL3doZW4gJnF1b3Q7TmVlZHMgWmVybyBNQ1YgRG9zZSZxdW90OwoJLy8JdGhlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDYgbW9udGhzCgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGlnaCBUcmFuc21pc3Npb24gU2V0dGluZyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz45IG1vbnRoczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MTIgbW9udGhzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJLy93aGVuICZxdW90O1NlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OyBpcyBub3QgbnVsbCBhbmQgJnF1b3Q7TmVlZHMgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSZxdW90OwoJLy8JdGhlbiAmcXVvdDtEYXRlIFNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OyArIDQgd2Vla3MKCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Rmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCXRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MTUgbW9udGhzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KCWVsc2UgbnVsbAoJZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzYiIGxvY2F0b3I9IjQ1OjItNTU6NCIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTI3IiBsb2NhdG9yPSI0ODoyLTQ5OjEwNiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iNDg6Ny00ODo0NCIgbmFtZT0iTm8gTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMjYiIGxvY2F0b3I9IjQ5OjgtNDk6MTA2IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNDk6MTEtNDk6MzciIG5hbWU9IkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iNDk6NDQtNDk6NzEiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI0OTo0NC00OTo2MCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNDk6NDQtNDk6NTAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjAiIGxvY2F0b3I9IjQ5OjY0LTQ5OjcxIiB2YWx1ZT0iOSIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIxMjUiIGxvY2F0b3I9IjQ5Ojc4LTQ5OjEwNiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjMiIGxvY2F0b3I9IjQ5Ojc4LTQ5Ojk0IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIyIiBsb2NhdG9yPSI0OTo3OC00OTo4NCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNCIgbG9jYXRvcj0iNDk6OTgtNDk6MTA2IiB2YWx1ZT0iMTIiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSI1MjoyLTUzOjM2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI1Mjo3LTUyOjU4IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6Ny01Mjo1OCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNTI6Ny01Mjo0NiIgbmFtZT0iRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjUzOjgtNTM6MzYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI1Mzo4LTUzOjI0IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSI1Mzo4LTUzOjE0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMyIiBsb2NhdG9yPSI1MzoyOC01MzozNiIgdmFsdWU9IjE1IiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpEYXRlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzUiIGxvY2F0b3I9IjU0OjctNTQ6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNTEiIGxvY2F0b3I9IjM5OjEtNDI6NjQiIG5hbWU9IlNjaGVkdWxlIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgIDxhOnM+Ly9hbmQgSU1NWkNvbS4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7ICZsdDsgMTUKZGVmaW5lICZxdW90O1NjaGVkdWxlIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0V4cGVjdGVkIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjQgd2Vla3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgl0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RXhwZWN0ZWQgRHVlIERhdGUgZm9yIE1DViBkb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjQgd2Vla3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSI0MDoyLTQyOjY0IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2FsSWQ9IjE0NCIgbG9jYXRvcj0iNDA6NS00MDoxNTciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNDA6NS00MDo2MCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMCIgbG9jYXRvcj0iNDA6NS00MDo1MiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUiIGxpYnJhcnlOYW1lPSJJTU1aQ29tIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iNDA6NjUtNDA6MTU3IiB4c2k6dHlwZT0iR3JlYXRlciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSI0MDo2NS00MDo5NiIgbmFtZT0iRXhwZWN0ZWQgRHVlIERhdGUgZm9yIE1DViBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iNDA6MTAwLTQwOjE1NyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQwIiBsb2NhdG9yPSI0MDoxMDAtNDA6MTQ3IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSI0MDoxNTEtNDA6MTU3IiB2YWx1ZT0iNCIgdW5pdD0id2Vla3MiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSI0MTo3LTQxOjM4IiBuYW1lPSJFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI0Mjo3LTQyOjY0IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDciIGxvY2F0b3I9IjQyOjctNDI6NTQiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lIiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDgiIGxvY2F0b3I9IjQyOjU4LTQyOjY0IiB2YWx1ZT0iNCIgdW5pdD0id2Vla3MiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSI1ODoxLTcyOjUiIG5hbWU9Ik1DViBOZXh0IERvc2UgTnVtYmVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7TUNWIE5leHQgRG9zZSBOdW1iZXImcXVvdDs6CgkvL2lmICZxdW90O05lZWRzIFplcm8gTUNWIERvc2UmcXVvdDsgb3IgJnF1b3Q7WmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OyBpcyBub3QgbnVsbAoJLy90aGVuIAoJLy8JY2FzZSAKCS8vCXdoZW4gJnF1b3Q7U2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IGlzIG5vdCBudWxsIGFuZCAmcXVvdDtOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlJnF1b3Q7IHRoZW4gJ2Jvb3N0ZXInCgkvLwl3aGVuICZxdW90O0ZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IGlzIG5vdCBudWxsIHRoZW4gMgoJLy8Jd2hlbiAmcXVvdDtaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IGlzIG5vdCBudWxsIHRoZW4gMQoJLy8JZWxzZSAnemVybycKCS8vCWVuZAoJLy9lbHNlCgkJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlIAoJCS8vd2hlbiAmcXVvdDtTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDsgaXMgbm90IG51bGwgYW5kICZxdW90O05lZWRzIFN1cHBsZW1lbnRhcnkgTUNWIERvc2UmcXVvdDsgdGhlbiAnYm9vc3RlcicKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPiB0aGVuIDI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU2Ij4KCQllbHNlIDEKCQllbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iNjg6My03Mjo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjcwOjMtNzA6NjYiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjcwOjgtNzA6NTkiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MDo4LTcwOjU5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSI3MDo4LTcwOjQ3IiBuYW1lPSJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE1NCIgbG9jYXRvcj0iNzA6NjYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSI3MTo4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYwIiBsb2NhdG9yPSI3NDoxLTc1OjIiIG5hbWU9Ik51bWJlciBvZiBSZXF1aXJlZCBNQ1YgRG9zZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+ZGVmaW5lICZxdW90O051bWJlciBvZiBSZXF1aXJlZCBNQ1YgRG9zZXMmcXVvdDs6CgkyPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iNzU6MiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjIiIGxvY2F0b3I9Ijc3OjEtODM6NSIgbmFtZT0iRXhwaXJhdGlvbiBEYXRlIGZvciBNQ1YgZG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj5kZWZpbmUgJnF1b3Q7RXhwaXJhdGlvbiBEYXRlIGZvciBNQ1YgZG9zZSZxdW90OzoKCS8vY2FzZQoJLy93aGVuICZxdW90O05lZWRzIFplcm8gTUNWIERvc2UmcXVvdDsKCS8vCXRoZW4gUGF0aWVudC5iaXJ0aERhdGUgKyA5IG1vbnRocwoJLy9lbHNlIG51bGwKCS8vZW5kCgludWxsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iODM6Mi04Mzo1IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjQiIGxvY2F0b3I9Ijg1OjEtODY6NSIgbmFtZT0iT3ZlcmR1ZSBEYXRlIGZvciBNQ1YgZG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj5kZWZpbmUgJnF1b3Q7T3ZlcmR1ZSBEYXRlIGZvciBNQ1YgZG9zZSZxdW90OzoKCW51bGw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSI4NjoyLTg2OjUiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iMjE1OjEtMjE2OjgzIiBuYW1lPSJEYXRlIFNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE3MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIEBkYXRhRWxlbWVudCBEYXRlIHNlY29uZCBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCmRlZmluZSAmcXVvdDtEYXRlIFNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPmRhdGUgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2NjdXJyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iMjE2OjMtMjE2OjgzIiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iMjE2OjEzLTIxNjo4MyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSIyMTY6MTQtMjE2OjY1IiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2NyIgbG9jYXRvcj0iMjE2OjE0LTIxNjo1NCIgbmFtZT0iU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTY5IiBsb2NhdG9yPSIyMTY6NzAtMjE2OjgyIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iODg6MS05NTo0IiBuYW1lPSJEYXRlIExhc3QgVmFsaWQgTUNWIERvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEYXRlIExhc3QgVmFsaWQgTUNWIERvc2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCgkvL3doZW4gJnF1b3Q7U3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OyBpcyBub3QgbnVsbCB0aGVuICZxdW90O0RhdGUgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OwoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIEZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgoJLy93aGVuICZxdW90O1plcm8gTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDsgaXMgbm90IG51bGwgdGhlbiAmcXVvdDtEYXRlIFplcm8gTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDsKCWVsc2UgbnVsbAoJZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODAiIGxvY2F0b3I9Ijg5OjItOTU6NCIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSI5MToyLTkxOjExMSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iOTE6Ny05MTo1OSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkxOjctOTE6NTkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjkxOjctOTE6NDciIG5hbWU9IlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iOTE6NjYtOTE6MTExIiBuYW1lPSJEYXRlIFNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE3OCIgbG9jYXRvcj0iOTI6Mi05MjoxMDkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjkyOjctOTI6NTgiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5Mjo3LTkyOjU4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc1IiBsb2NhdG9yPSI5Mjo3LTkyOjQ2IiBuYW1lPSJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iOTI6NjUtOTI6MTA5IiBuYW1lPSJEYXRlIEZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBhc1R5cGU9InQ6RGF0ZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSI5NDo3LTk0OjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSI5NzoxLTk4Ojc4IiBuYW1lPSJTaG91bGQgdmFjY2luYXRlIHBhdGllbnQgZm9yIE1DViIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1Nob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgTUNWJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1Byb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U2NoZWR1bGUgRHVlIERhdGUgZm9yIE1DViBkb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAmbHQ7PSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vdygpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODYiIGxvY2F0b3I9Ijk4OjItOTg6NzgiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODIiIGxvY2F0b3I9Ijk4OjItOTg6MjgiIG5hbWU9IlByb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iOTg6MzQtOTg6NzgiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iOTg6MzUtOTg6NjYiIG5hbWU9IlNjaGVkdWxlIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg0IiBsb2NhdG9yPSI5ODo3MS05ODo3NyIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTk0IiBsb2NhdG9yPSIxMDA6MS0xMDI6NTciIG5hbWU9Ik1DViBEb3NlIENvbnRyYWluZGljYXRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O01DViBEb3NlIENvbnRyYWluZGljYXRlZCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb208L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UHJlZ25hbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTZXZlcmVseSBJbW11bm9zdXBwcmVzc2VkIENvbmRpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjEwMToyLTEwMjo1NyIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxMDE6Mi0xMDE6MTkiIG5hbWU9IlByZWduYW50IiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSIxMDI6NS0xMDI6NTciIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTEiIGxvY2F0b3I9IjEwMjoxMS0xMDI6NTciIG5hbWU9IlNldmVyZWx5IEltbXVub3N1cHByZXNzZWQgQ29uZGl0aW9uIiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTA0OjEtMTA5OjIiIG5hbWU9IkNvbnRyYWluZGljYXRpb24gRXZhbHVhdGlvbiBvZiB0aGUgTUNWIGRvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtDb250cmFpbmRpY2F0aW9uIEV2YWx1YXRpb24gb2YgdGhlIE1DViBkb3NlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPm5vdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TUNWIERvc2UgQ29udHJhaW5kaWNhdGVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb208L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGlzdG9yeSBvZiBBbmFwaHlsYWN0aWMgUmVhY3Rpb25zIENvbmRpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTZXZlcmUgQWxsZXJnaWMgUmVhY3Rpb25zIENvbmRpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb208L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3ltcHRvbWF0aWMgSElWIEluZmVjdGlvbiBDb25kaXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEwNToyLTEwOToyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMDU6Mi0xMDU6MzIiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTUiIGxvY2F0b3I9IjEwNTo1LTEwNTozMiIgbmFtZT0iTUNWIERvc2UgQ29udHJhaW5kaWNhdGVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTA1OjM4LTEwOToyIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDMiIGxvY2F0b3I9IjEwNjozLTEwNzo1OCIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk5IiBsb2NhdG9yPSIxMDY6My0xMDY6NjMiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjEwNjo5LTEwNjo2MyIgbmFtZT0iSGlzdG9yeSBvZiBBbmFwaHlsYWN0aWMgUmVhY3Rpb25zIENvbmRpdGlvbiIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSIxMDc6Ni0xMDc6NTgiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDEiIGxvY2F0b3I9IjEwNzoxMi0xMDc6NTgiIG5hbWU9IlNldmVyZSBBbGxlcmdpYyBSZWFjdGlvbnMgQ29uZGl0aW9uIiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMTA4OjYtMTA4OjU4IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjA1IiBsb2NhdG9yPSIxMDg6MTItMTA4OjU4IiBuYW1lPSJTeW1wdG9tYXRpYyBISVYgSW5mZWN0aW9uIENvbmRpdGlvbiIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTI5OjEtMTMwOjg0IiBuYW1lPSJEYXRlIExhc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogQGRhdGFFbGVtZW50IERhdGUgb2YgbGFzdCBNQ1YgZG9zZSBhZG1pbmlzdHJhdGlvbgogKi8KZGVmaW5lICZxdW90O0RhdGUgTGFzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICA8YTpzPmRhdGUgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjEzMDozLTEzMDo4NCIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjEzMDoxMy0xMzA6ODQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTMwOjE0LTEzMDo2NiIgcGF0aD0ib2NjdXJyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjEzMDoxNC0xMzA6NTUiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMzA6MjAtMTMwOjU0IiBuYW1lPSJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSIxMzA6NzEtMTMwOjgzIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOSIgbG9jYXRvcj0iMTM1OjEtMTM2OjQ0IiBuYW1lPSJOdW1iZXIgb2YgTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRlZmluZSBUaGUgbnVtYmVyIG9mIE1DViBkb3NlcyBhZG1pbmlzdGVyZCB0byB0aGUgcGF0aWVudAogKi8KZGVmaW5lICZxdW90O051bWJlciBvZiBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjEzNjozLTEzNjo0NCIgeHNpOnR5cGU9IkNvdW50Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjEzNjo5LTEzNjo0MyIgbmFtZT0iTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMjMyOjEtMjM0OjUzIiBuYW1lPSJEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgZm9yIE1DViBkb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQGRhdGFFbGVtZW50ICZxdW90O1NlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OwogKiBvbmx5IHZhbGlkIGlmIDQgd2Vla3MgYWZ0ZXIgZmlyc3QgZG9zZQogKi8KLy9kZWZpbmUgJnF1b3Q7U3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKLy8gIExhc3QoJnF1b3Q7TUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IEkgd2hlcmUgSS5vY2N1cnJlbmNlIGFmdGVyICZxdW90O0RhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7KQoKLyoqCiAqIEBkYXRhRWxlbWVudCBEYXRlIHNlY29uZCBNQ1YgZG9zZSBhZG1pbmlzdGVyZWQKICovCi8vZGVmaW5lICZxdW90O0RhdGUgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKLy8gIGRhdGUgZnJvbSAoJnF1b3Q7U3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90Oy5vY2N1cnJlbmNlIGFzIEZISVIuZGF0ZVRpbWUpZGVmaW5lICZxdW90O0RyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBmb3IgTUNWIGRvc2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uUmVxdWVzdF08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBNUjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NUjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2RyYWZ0JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NUjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3Byb3Bvc2FsJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBkZXNjPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iMjMzOjItMjM0OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyMSIgbG9jYXRvcj0iMjMzOjItMjMzOjIzIiBhbGlhcz0iTVIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjIzMzoyLTIzMzoyMCIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIyMzM6MjUtMjMzOjc2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIyMzM6MzEtMjMzOjQ5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjIzMzozMS0yMzM6MzkiIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjIzMzo0My0yMzM6NDkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJkcmFmdCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjIzMzo1NS0yMzM6NzYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMjMzOjU1LTIzMzo2MyIgcGF0aD0iaW50ZW50IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMjMzOjY3LTIzMzo3NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByb3Bvc2FsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iMjM0OjItMjM0OjUzIj4KICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMjM0OjEwLTIzNDo1MyIgZGlyZWN0aW9uPSJkZXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyMzQ6MTAtMjM0OjQ4IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMjM0OjIwLTIzNDo0OCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIyMzQ6MjEtMjM0OjMwIiBuYW1lPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMjM0OjM1LTIzNDo0NyIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L2J5PgogICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIyMzY6MS0yMzc6NTAiIG5hbWU9IkRyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBJRCBmb3IgTUNWIGRvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgSUQgZm9yIE1DViBkb3NlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZpcnN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIyMzc6Mi0yMzc6NTAiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iMjM3OjItMjM3OjQ3IiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMjM3OjgtMjM3OjQ2IiBuYW1lPSJEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgZm9yIE1DViBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMjQyIiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuICogTGlicmFyeTogSU1NWkQyRFRNZWFzbGVzTG9naWMgKElNTVouRDIuRFQuTWVhc2xlcylcbiAqIFJ1bGU6IElmIHRoZSBjaGlsZCBvciBwYXRpZW50IGhhcyBub3QgYmVlbiBnaXZlbiBNQ1YxIChhdCA5IG1vbnRocykgYW5kIE1DVjIgKGJldHdlZW4gMTUtMTggbW9udGhzKSB2YWNjaW5hdGlvbiBcbiAqIFRyaWdnZXI6IFBhdGllbnQgaGFzIG5ldmVyIHJlY2VpdmVkIG1lYXNsZXMgdmFjY2luYXRpb25cbiAqL1xuIiwibGlicmFyeSBJTU1aRDJEVE1lYXNsZXNMb2dpYyIgXQogICAgICAgICAgICB9IF0KICAgICAgICAgfQogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJJTU1aRDJEVE1lYXNsZXNMb2dpYyIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OjEtODoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gU3RhcnQgU2tlbGV0b24gQ1FMXG4iLCJ1c2luZyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiaW5jbHVkZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTozNSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9GSElSSGVscGVycyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzQuMC4xJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDoxLTEwOjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbW1vbiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMTozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpjIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOjEtMTI6MzMiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aQ29uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uZmlnIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb25maWciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSU1NWkNvbiIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzoxLTEzOjQwIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWnZsIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aVmFjY2luZUxpYnJhcnkiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWlZhY2NpbmVMaWJyYXJ5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVp2bCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDoxLTE0OjI4IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJGQyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJwYXJhbWV0ZXJzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6ODMiLAogICAgICAgICAgICAibmFtZSIgOiAiSW5kaXZpZHVhbCBpcyBhdCBoaWdoIHJpc2sgb2YgY29udHJhY3RpbmcgbWVhc2xlcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInBhcmFtZXRlciAiLCJcIkluZGl2aWR1YWwgaXMgYXQgaGlnaCByaXNrIG9mIGNvbnRyYWN0aW5nIG1lYXNsZXNcIiIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQm9vbGVhbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGVmYXVsdCAiLCJmYWxzZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJkZWZhdWx0IiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6NzktMTY6ODMiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6NjMtMTY6NjkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzoxLTE3OjEwMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJbmRpdmlkdWFsIGlzIHRyYXZlbGxpbmcgdG8gYSBjb3VudHJ5IGV4cGVyaWVuY2luZyBtZWFzbGVzIG91dGJyZWFrcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInBhcmFtZXRlciAiLCJcIkluZGl2aWR1YWwgaXMgdHJhdmVsbGluZyB0byBhIGNvdW50cnkgZXhwZXJpZW5jaW5nIG1lYXNsZXMgb3V0YnJlYWtzXCIiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGVmYXVsdCAiLCJmYWxzZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJkZWZhdWx0IiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3Ojk4LTE3OjEwMiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZmFsc2UiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInBhcmFtZXRlclR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc6ODItMTc6ODgiLAogICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODoxLTE4OjgzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkluZGl2aWR1YWwgaXMga25vd24gdG8gYmUgSElWLWluZmVjdGVkIG9yIGV4cG9zZWQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJwYXJhbWV0ZXIgIiwiXCJJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkXCIiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCb29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGVmYXVsdCAiLCJmYWxzZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJkZWZhdWx0IiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Ojc5LTE4OjgzIiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmYWxzZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODo2My0xODo2OSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5OjEtMTk6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5lIHJlY29uc3RpdHV0aW9uIHdhcyBhY2hpZXZlZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInBhcmFtZXRlciAiLCJcIkltbXVuZSByZWNvbnN0aXR1dGlvbiB3YXMgYWNoaWV2ZWRcIiIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkZWZhdWx0ICIsImZhbHNlIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImRlZmF1bHQiIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk6NjQtMTk6NjgiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5OjQ4LTE5OjU0IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyOjEtMjI6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyOjEtMjI6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6MS0xMTc6NDAiLAogICAgICAgICAgICAibmFtZSIgOiAiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEBkYXRhRWxlbWVudCBNQ1YgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFxuICovXG4iLCJkZWZpbmUgIiwiXCJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbSIsIi4iLCJcIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhY2NpbmVDb2RlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGluICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1DViBWYWNjaW5lXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTozLTExNzo0MCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6My0xMTU6NDMiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6My0xMTU6NDEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjMtMTE3OjQwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6NS0xMTc6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFjY2luZUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjIyLTExNzo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNQ1YgVmFjY2luZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxLTE0NjoyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmdcIiIsIjpcblx0IiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkNvdW50cnkgY3VycmVudGx5IGhhcyBhIG1lYXNsZXMgb3V0YnJlYWtcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBvclxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyA8IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2hcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgb3Jcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlBvcHVsYXRpb24gaXMgaW4gY29uZmxpY3Qgem9uZXMgaW50ZXJuYWxseSBkaXNwbGFjZWQgcG9wdWxhdGlvbnMgYW5kIHJlZnVnZWVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIG9yIFxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJbmRpdmlkdWFsIGlzIGF0IGhpZ2ggcmlzayBvZiBjb250cmFjdGluZyBtZWFzbGVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgb3Jcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSW5kaXZpZHVhbCBpcyB0cmF2ZWxsaW5nIHRvIGEgY291bnRyeSBleHBlcmllbmNpbmcgbWVhc2xlcyBvdXRicmVha3NcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBvclxuXHRcdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0KSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzk6Mi0xNDY6MiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjMtMTQ0OjcyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6My0xNDM6NTMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDozLTE0Mjo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjMtMTQxOjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6My0xNDA6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ291bnRyeSBjdXJyZW50bHkgaGFzIGEgbWVhc2xlcyBvdXRicmVhayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6My0xNDE6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSW4gYSBzZXR0aW5nIHdoZXJlIHRoZSByaXNrIG9mIG1lYXNsZXMgYW1vbmcgaW5mYW50cyA8IDkgbW9udGhzIG9mIGFnZSByZW1haW5zIGhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjozLTE0Mjo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQb3B1bGF0aW9uIGlzIGluIGNvbmZsaWN0IHpvbmVzIGludGVybmFsbHkgZGlzcGxhY2VkIHBvcHVsYXRpb25zIGFuZCByZWZ1Z2VlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjMtMTQzOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkluZGl2aWR1YWwgaXMgYXQgaGlnaCByaXNrIG9mIGNvbnRyYWN0aW5nIG1lYXNsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjMtMTQ0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkluZGl2aWR1YWwgaXMgdHJhdmVsbGluZyB0byBhIGNvdW50cnkgZXhwZXJpZW5jaW5nIG1lYXNsZXMgb3V0YnJlYWtzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NTozLTE0NTo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjEtMTk2OjEwNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbmRlZmluZSBcIk5lZWRzIFplcm8gTUNWIERvc2VcIjpcblx0XCJObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiBcblx0ICBhbmQgKFxuXHRcdFx0aWYgXCJIaWdoIFRyYW5zbWlzc2lvbiBTZXR0aW5nXCIgXG5cdFx0XHR0aGVuIElNTVpDb20uXCJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRoc1wiIGJldHdlZW4gNiBhbmQgOSBcblx0XHRcdGVsc2UgSU1NWkNvbS5cIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzXCIgYmV0d2VlbiA2IGFuZCAxMlxuXHRcdClcblx0XHRhbmQgSU1NWkNvbS5cIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lXCIgKzQgd2Vla3MgPD0gTm93KClcblx0XHRhbmQgXG5cdFx0XHQoXG5cdFx0XHRcdChcblx0XHRcdFx0XHRJTU1aQ29tLlwiSElWIFN0YXR1c1wiIGluIElNTVpjLlwiSElWIHN0YXR1cyAtIEhJViBwb3NpdGl2ZSBDaG9pY2VzXCIgXG5cdFx0XHRcdFx0ICBhbmQgKFxuXHRcdFx0XHRcdCAgICBub3QoSU1NWkNvbS5cIlBhdGllbnQgaXMgcmVjZWl2aW5nIEhBQVJUXCIpXG5cdFx0XHRcdFx0XHRcdG9yIFwiSW1tdW5lIHJlY29uc3RpdHV0aW9uIHdhcyBhY2hpZXZlZFwiXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdFx0b3IgXCJJbmRpdmlkdWFsIGlzIGtub3duIHRvIGJlIEhJVi1pbmZlY3RlZCBvciBleHBvc2VkXCJcblx0XHRcdClcblxuZGVmaW5lIFwiTmVlZHMgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZVwiOlxuXHRJTU1aQ29tLlwiSElWIFN0YXR1c1wiIGluIElNTVpjLlwiSElWIHN0YXR1cyAtIEhJViBwb3NpdGl2ZSBDaG9pY2VzXCIgXG5cdGFuZCBJTU1aQ29tLlwiQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFyc1wiIDwgMTVcblx0YW5kIElNTVpDb20uXCJQYXRpZW50IGlzIHJlY2VpdmluZyBIQUFSVFwiXG5cdGFuZCBcIkltbXVuZSByZWNvbnN0aXR1dGlvbiB3YXMgYWNoaWV2ZWRcIiBcblx0YW5kIFwiU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIGlzIG51bGxcblx0YW5kIElNTVpDb20uXCJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZVwiICs0IHdlZWtzIDw9IE5vdygpXG4qL1xuXG4vKipcbiAqIEBkYXRhRWxlbWVudCBaZXJvIE1DViBkb3NlIGdpdmVuIHRvIFBhdGllbnRcbiAqL1xuLy9kZWZpbmUgXCJaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCI6XG4vL1x0TGFzdChcIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIEkgd2hlcmUgSS5vY2N1cnJlbmNlIGJldHdlZW4gUGF0aWVudC5iaXJ0aERhdGUgKyA2IG1vbnRocyBhbmQgUGF0aWVudC5iaXJ0aERhdGUgKyA5IG1vbnRocylcblxuLyoqXG4gKiBAZGF0YUVsZW1lbnQgRGF0ZSBaZXJvIE1DViBkb3NlIGFkbWluaXN0ZXJlZFxuICovXG4vL2RlZmluZSBcIkRhdGUgWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiOlxuLy8gIGRhdGUgZnJvbSAoXCJaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIub2NjdXJyZW5jZSBhcyBGSElSLmRhdGVUaW1lKVxuXG4vKipcbiAqIEBkYXRhRWxlbWVudCBGaXJzdCBNQ1YgZG9zZSBnaXZlbiB0byBQYXRpZW50XG4gKi9cbiIsImRlZmluZSAiLCJcIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiLCI6XG5cdCIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmdcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvY2N1cnJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImFmdGVyIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiaXJ0aERhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjkgIiwibW9udGhzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvY2N1cnJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImFmdGVyIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiaXJ0aERhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjEyICIsIm1vbnRocyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoyLTE5NjoxMDQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo1LTE5NDozMSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIaWdoIFRyYW5zbWlzc2lvbiBTZXR0aW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo3LTE5NToxMDMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjEyLTE5NToxMDIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjEyLTE5NTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NToxMi0xOTU6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo1MC0xOTU6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFmdGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo1Ni0xOTU6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo3NS0xOTU6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1Ojc1LTE5NTo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTo3NS0xOTU6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6OTUtMTk1OjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiA5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo3LTE5NjoxMDQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk2OjEyLTE5NjoxMDMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk2OjEyLTE5Njo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NjoxMi0xOTY6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo1MC0xOTY6MTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFmdGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo1Ni0xOTY6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo3NS0xOTY6MTAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk2Ojc1LTE5Njo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo3NS0xOTY6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTY6OTUtMTk2OjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjAwOjEtMjAxOjgyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiODgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRhdGFFbGVtZW50IERhdGUgZmlyc3QgTUNWIGRvc2UgYWRtaW5pc3RlcmVkXG4gKi9cbiIsImRlZmluZSAiLCJcIkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkYXRlIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2NjdXJyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDE6My0yMDE6ODIiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjEzLTIwMTo4MiIsCiAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMToxNC0yMDE6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjE0LTIwMTo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjY5LTIwMTo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjEtMjEwOjU2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRhdGFFbGVtZW50IFwiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCJcbiAqIG9ubHkgdmFsaWQgaWYgNCB3ZWVrcyBhZnRlciBmaXJzdCBkb3NlXG4gKi9cbiIsImRlZmluZSAiLCJcIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2NjdXJyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJhZnRlciIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI0ICIsIndlZWtzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBcblx0XHRcdGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2NjdXJyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJhZnRlciIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIxNSAiLCJtb250aHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA4OjMtMjEwOjU2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDg6OC0yMTA6NTUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA4OjgtMjA4OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJJIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA4OjgtMjA4OjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjMtMjEwOjU1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjktMjA5OjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFmdGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOTo5LTIwOToyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJvY2N1cnJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjI4LTIwOTo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOToyOC0yMDk6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDk6NzYtMjA5OjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ3ZWVrcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDo4LTIxMDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTA6OC0yMTA6MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDoyNy0yMTA6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTA6MjctMjEwOjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjI3LTIxMDozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDo0Ny0yMTA6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjEtMzY6MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcm92aXNpb24gb2YgdGhlIE1DViBkb3NlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBAZGF0YUVsZW1lbnQgU2hvdWxkIHByb3Zpc2lvbiBNQ1YgRG9zZVxuICovXG4iLCJkZWZpbmUgIiwiXCJQcm92aXNpb24gb2YgdGhlIE1DViBkb3NlXCIiLCI6XG5cdC8vbm90KFwiTUNWIERvc2UgQ29udHJhaW5kaWNhdGVkXCIpIGFuZCBcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkxpdmUgQXR0ZW51YXRlZCBWYWNjaW5lc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI0ICIsIndlZWtzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjw9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTm93IiwiKCkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZWxzZSAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ0cnVlIiwiXG5cdGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIFxuXHRcdC8vb3IgKFxuXHRcdC8vXHRcIk5lZWRzIFN1cHBsZW1lbnRhcnkgTUNWIERvc2VcIiBhbmQgXCJTdXBwbGVtZW50YXJ5IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIgaXMgbnVsbFxuXHRcdC8vKVxuXHQpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjMtMzY6MiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6Ni0zMDo0NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDoxMi0zMDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXZlIEF0dGVudWF0ZWQgVmFjY2luZXMiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDo1NC0zMDoxMjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzc09yRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjU0LTMwOjExMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDo1NC0zMDoxMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjEwNS0zMDoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogNCwKICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIndlZWtzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MTE2LTMwOjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MTI3LTM2OjIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDoxMjctMzA6MTMwIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTo2LTM2OjIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOjMtMzI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjEtMTIzOjQ5IiwKICAgICAgICAgICAgIm5hbWUiIDogIk5vIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRlZmluZSBUaGUgcGF0aWVudCBoYXMgbm8gTUNWIGRvc2VzIGFkbWluaXN0ZXJlZFxuICovXG4iLCJkZWZpbmUgIiwiXCJObyBNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibm90ICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImV4aXN0cyIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzozLTEyMzo0OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjctMTIzOjQ5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6MTMtMTIzOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6MS01NTo0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4cGVjdGVkIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkV4cGVjdGVkIER1ZSBEYXRlIGZvciBNQ1YgZG9zZVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuXHQvL3doZW4gXCJOZWVkcyBaZXJvIE1DViBEb3NlXCJcblx0Ly9cdHRoZW4gUGF0aWVudC5iaXJ0aERhdGUgKyA2IG1vbnRoc1xuXHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTm8gTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRcdHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWYgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJIaWdoIFRyYW5zbWlzc2lvbiBTZXR0aW5nXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiOSAiLCJtb250aHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZWxzZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJpcnRoRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjEyICIsIm1vbnRocyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdC8vd2hlbiBcIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIGlzIG5vdCBudWxsIGFuZCBcIk5lZWRzIFN1cHBsZW1lbnRhcnkgTUNWIERvc2VcIlxuXHQvL1x0dGhlbiBcIkRhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIgKyA0IHdlZWtzXG5cdCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBpcyBub3QgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0dGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJpcnRoRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjE1ICIsIm1vbnRocyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdGVsc2UgIiwibnVsbCIsIlxuXHRlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjItNTU6NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ4OjItNDk6MTA2IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ4OjctNDg6NDQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTm8gTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0OTo4LTQ5OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjExLTQ5OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhpZ2ggVHJhbnNtaXNzaW9uIFNldHRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjQ0LTQ5OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjQ0LTQ5OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjQ0LTQ5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjY0LTQ5OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6NzgtNDk6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5Ojc4LTQ5Ojk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5Ojc4LTQ5Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5Ojk4LTQ5OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6Mi01MzozNiIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo3LTUyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjctNTI6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjctNTI6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo4LTUzOjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUzOjgtNTM6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6OC01MzoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoyOC01MzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxNSwKICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDo3LTU0OjEwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOToxLTQyOjY0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNjaGVkdWxlIER1ZSBEYXRlIGZvciBNQ1YgZG9zZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vYW5kIElNTVpDb20uXCJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzXCIgPCAxNVxuIiwiZGVmaW5lICIsIlwiU2NoZWR1bGUgRHVlIERhdGUgZm9yIE1DViBkb3NlXCIiLCI6XG5cdCIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlmICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbnVsbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIG9yICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2VcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj4iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkRhdGUgb2YgTGF0ZXN0IExpdmUgQXR0ZW51YXRlZCBWYWNjaW5lXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI0ICIsIndlZWtzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0dGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkV4cGVjdGVkIER1ZSBEYXRlIGZvciBNQ1YgZG9zZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0ZWxzZSAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmVcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjQgIiwid2Vla3MiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6Mi00Mjo2NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjUtNDA6MTU3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6NS00MDo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6NS00MDo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDo2NS00MDoxNTciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDo2NS00MDo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFeHBlY3RlZCBEdWUgRGF0ZSBmb3IgTUNWIGRvc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MTAwLTQwOjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MTAwLTQwOjE0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXRlIG9mIExhdGVzdCBMaXZlIEF0dGVudWF0ZWQgVmFjY2luZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjE1MS00MDoxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIndlZWtzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjctNDE6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRXhwZWN0ZWQgRHVlIERhdGUgZm9yIE1DViBkb3NlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjctNDI6NjQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjctNDI6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBvZiBMYXRlc3QgTGl2ZSBBdHRlbnVhdGVkIFZhY2NpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0Mjo1OC00Mjo2NCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiA0LAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAid2Vla3MiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjEtNzI6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJNQ1YgTmV4dCBEb3NlIE51bWJlciIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIk1DViBOZXh0IERvc2UgTnVtYmVyXCIiLCI6XG5cdC8vaWYgXCJOZWVkcyBaZXJvIE1DViBEb3NlXCIgb3IgXCJaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIgaXMgbm90IG51bGxcblx0Ly90aGVuIFxuXHQvL1x0Y2FzZSBcblx0Ly9cdHdoZW4gXCJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiBpcyBub3QgbnVsbCBhbmQgXCJOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlXCIgdGhlbiAnYm9vc3Rlcidcblx0Ly9cdHdoZW4gXCJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIGlzIG5vdCBudWxsIHRoZW4gMlxuXHQvL1x0d2hlbiBcIlplcm8gTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiBpcyBub3QgbnVsbCB0aGVuIDFcblx0Ly9cdGVsc2UgJ3plcm8nXG5cdC8vXHRlbmRcblx0Ly9lbHNlXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSBcblx0XHQvL3doZW4gXCJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiBpcyBub3QgbnVsbCBhbmQgXCJOZWVkcyBTdXBwbGVtZW50YXJ5IE1DViBEb3NlXCIgdGhlbiAnYm9vc3Rlcidcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbm90IG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiLCIyIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0ZWxzZSAiLCIxIiwiXG5cdFx0ZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2ODozLTcyOjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTcwOjY2IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjgtNzA6NTkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6OC03MDo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6OC03MDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjY2IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6OCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjEtNzU6MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOdW1iZXIgb2YgUmVxdWlyZWQgTUNWIERvc2VzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU5IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIk51bWJlciBvZiBSZXF1aXJlZCBNQ1YgRG9zZXNcIiIsIjpcblx0IiwiMiIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NToyIiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjEtODM6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFeHBpcmF0aW9uIERhdGUgZm9yIE1DViBkb3NlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkV4cGlyYXRpb24gRGF0ZSBmb3IgTUNWIGRvc2VcIiIsIjpcblx0Ly9jYXNlXG5cdC8vd2hlbiBcIk5lZWRzIFplcm8gTUNWIERvc2VcIlxuXHQvL1x0dGhlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDkgbW9udGhzXG5cdC8vZWxzZSBudWxsXG5cdC8vZW5kXG5cdCIsIm51bGwiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6Mi04Mzo1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg1OjEtODY6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPdmVyZHVlIERhdGUgZm9yIE1DViBkb3NlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIk92ZXJkdWUgRGF0ZSBmb3IgTUNWIGRvc2VcIiIsIjpcblx0IiwibnVsbCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjoyLTg2OjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjEtMjE2OjgzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBAZGF0YUVsZW1lbnQgRGF0ZSBzZWNvbmQgTUNWIGRvc2UgYWRtaW5pc3RlcmVkXG4gKi9cbiIsImRlZmluZSAiLCJcIkRhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRhdGUgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvY2N1cnJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjMtMjE2OjgzIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTY6MTMtMjE2OjgzIiwKICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjoxNC0yMTY6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjoxNC0yMTY6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjcwLTIxNjo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MS05NTo0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgTGFzdCBWYWxpZCBNQ1YgRG9zZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxODEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkRhdGUgTGFzdCBWYWxpZCBNQ1YgRG9zZVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuXHQvL3doZW4gXCJTdXBwbGVtZW50YXJ5IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIgaXMgbm90IG51bGwgdGhlbiBcIkRhdGUgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiXG5cdCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbm90IG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgbm90IG51bGwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRGF0ZSBGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQvL3doZW4gXCJaZXJvIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIgaXMgbm90IG51bGwgdGhlbiBcIkRhdGUgWmVybyBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiXG5cdGVsc2UgIiwibnVsbCIsIlxuXHRlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgwIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjItOTU6NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjItOTE6MTExIiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjctOTE6NTkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6Ny05MTo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6Ny05MTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo2Ni05MToxMTEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6Mi05MjoxMDkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6Ny05Mjo1OCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3LTkyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3LTkyOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6NjUtOTI6MTA5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjctOTQ6MTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjEtOTg6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAiU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBNQ1YiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTg3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJTaG91bGQgdmFjY2luYXRlIHBhdGllbnQgZm9yIE1DVlwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUHJvdmlzaW9uIG9mIHRoZSBNQ1YgZG9zZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYW5kICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiU2NoZWR1bGUgRHVlIERhdGUgZm9yIE1DViBkb3NlXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8PSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTm93IiwiKCkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6Mi05ODo3OCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODoyLTk4OjI4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByb3Zpc2lvbiBvZiB0aGUgTUNWIGRvc2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjM0LTk4Ojc4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3NPckVxdWFsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzUtOTg6NjYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU2NoZWR1bGUgRHVlIERhdGUgZm9yIE1DViBkb3NlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo3MS05ODo3NyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjEtMTAyOjU3IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1DViBEb3NlIENvbnRyYWluZGljYXRlZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIk1DViBEb3NlIENvbnRyYWluZGljYXRlZFwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUHJlZ25hbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHRvciAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJTZXZlcmVseSBJbW11bm9zdXBwcmVzc2VkIENvbmRpdGlvblwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6Mi0xMDI6NTciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6Mi0xMDE6MTkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJlZ25hbnQiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMjo1LTEwMjo1NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjExLTEwMjo1NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZXZlcmVseSBJbW11bm9zdXBwcmVzc2VkIENvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDQ6MS0xMDk6MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb250cmFpbmRpY2F0aW9uIEV2YWx1YXRpb24gb2YgdGhlIE1DViBkb3NlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIwOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiQ29udHJhaW5kaWNhdGlvbiBFdmFsdWF0aW9uIG9mIHRoZSBNQ1YgZG9zZVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm5vdCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1DViBEb3NlIENvbnRyYWluZGljYXRlZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImV4aXN0cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkhpc3Rvcnkgb2YgQW5hcGh5bGFjdGljIFJlYWN0aW9ucyBDb25kaXRpb25cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHRvciAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJTZXZlcmUgQWxsZXJnaWMgUmVhY3Rpb25zIENvbmRpdGlvblwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHRvciAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJTeW1wdG9tYXRpYyBISVYgSW5mZWN0aW9uIENvbmRpdGlvblwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0KSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyLTEwOToyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyLTEwNTozMiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjUtMTA1OjMyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1DViBEb3NlIENvbnRyYWluZGljYXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MzgtMTA5OjIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6My0xMDc6NTgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6My0xMDY6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo5LTEwNjo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIaXN0b3J5IG9mIEFuYXBoeWxhY3RpYyBSZWFjdGlvbnMgQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aQ29tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo2LTEwNzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA3OjEyLTEwNzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZXZlcmUgQWxsZXJnaWMgUmVhY3Rpb25zIENvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA4OjYtMTA4OjU4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6MTItMTA4OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN5bXB0b21hdGljIEhJViBJbmZlY3Rpb24gQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aQ29tIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjk6MS0xMzA6ODQiLAogICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBMYXN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogQGRhdGFFbGVtZW50IERhdGUgb2YgbGFzdCBNQ1YgZG9zZSBhZG1pbmlzdHJhdGlvblxuICovXG4iLCJkZWZpbmUgIiwiXCJEYXRlIExhc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGF0ZSBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRmlyc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm9jY3VycmVuY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzA6My0xMzA6ODQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoxMy0xMzA6ODQiLAogICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjE0LTEzMDo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJvY2N1cnJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjE0LTEzMDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoyMC0xMzA6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzA6NzEtMTMwOjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6MS0xMzY6NDQiLAogICAgICAgICAgICAibmFtZSIgOiAiTnVtYmVyIG9mIE1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRlZmluZSBUaGUgbnVtYmVyIG9mIE1DViBkb3NlcyBhZG1pbmlzdGVyZCB0byB0aGUgcGF0aWVudFxuICovXG4iLCJkZWZpbmUgIiwiXCJOdW1iZXIgb2YgTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvdW50IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozLTEzNjo0NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb3VudCIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjo5LTEzNjo0MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6MS0yMzQ6NTMiLAogICAgICAgICAgICAibmFtZSIgOiAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogQGRhdGFFbGVtZW50IFwiU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCJcbiAqIG9ubHkgdmFsaWQgaWYgNCB3ZWVrcyBhZnRlciBmaXJzdCBkb3NlXG4gKi9cbi8vZGVmaW5lIFwiU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiOlxuLy8gIExhc3QoXCJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiBJIHdoZXJlIEkub2NjdXJyZW5jZSBhZnRlciBcIkRhdGUgU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIpXG5cbi8qKlxuICogQGRhdGFFbGVtZW50IERhdGUgc2Vjb25kIE1DViBkb3NlIGFkbWluaXN0ZXJlZFxuICovXG4vL2RlZmluZSBcIkRhdGUgU3VwcGxlbWVudGFyeSBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiOlxuLy8gIGRhdGUgZnJvbSAoXCJTdXBwbGVtZW50YXJ5IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIub2NjdXJyZW5jZSBhcyBGSElSLmRhdGVUaW1lKSIsImRlZmluZSAiLCJcIkRyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBmb3IgTUNWIGRvc2VcIiIsIjpcblx0IiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJNZWRpY2F0aW9uUmVxdWVzdCIsIl0iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTVIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTVIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGF0dXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInZHJhZnQnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFuZCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTVIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpbnRlbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIncHJvcG9zYWwnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic29ydCBieSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRhdGUgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhdXRob3JlZE9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGVzYyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzM6Mi0yMzQ6NTMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzoyLTIzMzoyMyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjItMjMzOjIwIiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzM6MjUtMjMzOjc2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzozMS0yMzM6NDkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzozMS0yMzM6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzM6NDMtMjMzOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRyYWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjkiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjU1LTIzMzo3NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjU1LTIzMzo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzo2Ny0yMzM6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicHJvcG9zYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAic29ydCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM0OjItMjM0OjUzIiwKICAgICAgICAgICAgICAgICAgImJ5IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDoxMC0yMzQ6NTMiLAogICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIiA6ICJkZXNjIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkJ5RXhwcmVzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTAtMjM0OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MjAtMjM0OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDoyMS0yMzQ6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZGVudGlmaWVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MzUtMjM0OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjoxLTIzNzo1MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgSUQgZm9yIE1DViBkb3NlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBNQ1YgZG9zZVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZpcnN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6Mi0yMzc6NTAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6Mi0yMzc6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6OC0yMzc6NDYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBNQ1YgZG9zZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles-2.json new file mode 100644 index 0000000000..2831d164f9 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles-2.json @@ -0,0 +1,838 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "value" : [ "/*\n * Library: IMMZ.IND.Measles\n * Immunization coverage for Measles containing vaccine (Estimated Denominator) \n * Compares the administered doses of measles containing vaccines (MCV) with the estimated number of surviving infants (if dose 1) or a country supplied denominator (if dose 2) expressed as a percentage. \n * \n * Numerator: Number of administrations of vaccinations containing a Measles component during reporting period \n * Numerator Computation: COUNT immunization events WHERE administered product is a Measles vaccine (IMMZ.Z.DE9) during reporting period\n * Denominator: Estimated number of surviving infants (for dose 1) and country supplied denominator for dose sequence 2 (see comments)\n * Denominator Computation: PARAMETER number of surviving infants (if Dose Sequence = 1) or PARAMETER of country supplied denominator (if Dose Sequence = 2)\n * \n * Disaggregation:\n * - Dose Sequence (1, 2)\n * - Age Group (< 1 year or > 1 year)\n * - Geographic Region\n * - Administrative Gender (or Biological Sex)\n * \n * References: WHO Immunization Facility Analysis Guide (1), WHO / UNICEF Joint Reporting Form (3 - elements 4240 and 4260 )\n */\n","library IMMZINDMeasles" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZINDMeasles", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "23:1-23:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "// Start Skeleton CQL\n","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "24:1-24:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "25:1-25:33", + "localIdentifier" : "IMMZCom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZCommon" ] + } ] + }, { + "value" : [ " called ","IMMZCom" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "26:1-26:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "27:1-27:33", + "localIdentifier" : "IMMZCon", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConfig", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConfig" ] + } ] + }, { + "value" : [ " called ","IMMZCon" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "28:1-28:45", + "localIdentifier" : "IMMZIndCom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZIndicatorCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZIndicatorCommon" ] + } ] + }, { + "value" : [ " called ","IMMZIndCom" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "29:1-29:40", + "localIdentifier" : "IMMZvl", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZVaccineLibrary", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZVaccineLibrary" ] + } ] + }, { + "value" : [ " called ","IMMZvl" ] + } ] + } + } ] + }, { + "localId" : "8", + "locator" : "30:1-30:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + }, { + "localId" : "9", + "locator" : "31:1-31:43", + "localIdentifier" : "Measles", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZD2DTMeaslesLogic", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZD2DTMeaslesLogic" ] + } ] + }, { + "value" : [ " called ","Measles" ] + } ] + } + } ] + } ] + }, + "parameters" : { + "def" : [ { + "localId" : "12", + "locator" : "33:1-33:45", + "name" : "Measurement Period", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "12", + "s" : [ { + "value" : [ "// End Skeleton CQL\n","parameter ","\"Measurement Period\""," " ] + }, { + "r" : "11", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "10", + "s" : [ { + "value" : [ "Date" ] + } ] + }, { + "value" : [ ">" ] + } ] + } ] + } + } ], + "parameterTypeSpecifier" : { + "localId" : "11", + "locator" : "33:32-33:45", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "10", + "locator" : "33:41-33:44", + "name" : "{urn:hl7-org:elm-types:r1}Date", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "35:1-35:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "35:1-35:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "15", + "locator" : "43:1-44:3", + "name" : "Measure Observation", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "15", + "s" : [ { + "value" : [ "/*\ndefine \"MCV Doses Administered to Patient During Measurement Period\":\n Measles.\"MCV Doses Administered to Patient\" I \n where IMMZCom.ToDate(I.occurrence) during \"Measurement Period\"\n*/\n","define function ","\"Measure Observation\""," (","Patient"," " ] + }, { + "r" : "13", + "s" : [ { + "value" : [ "\"Patient\"" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "14", + "s" : [ { + "r" : "14", + "value" : [ "1" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "14", + "locator" : "44:3", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + }, + "operand" : [ { + "name" : "Patient", + "operandTypeSpecifier" : { + "localId" : "13", + "locator" : "43:48-43:56", + "name" : "{http://hl7.org/fhir}Patient", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "25", + "locator" : "49:1-50:114", + "name" : "Initial Population 05", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "25", + "s" : [ { + "value" : [ "/*\n * Target population for first dose: Any one over 9 (in high transmission area) or 12 (in low transmission area) months old\n */\n","define ","\"Initial Population 05\"",":\n\t" ] + }, { + "r" : "24", + "s" : [ { + "s" : [ { + "r" : "17", + "s" : [ { + "r" : "16", + "s" : [ { + "s" : [ { + "value" : [ "Measles",".","\"First MCV Dose Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "23", + "s" : [ { + "r" : "21", + "s" : [ { + "r" : "18", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "20", + "s" : [ { + "r" : "19", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "20", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "r" : "23", + "value" : [ " ","during"," " ] + }, { + "r" : "22", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "24", + "locator" : "50:2-50:114", + "type" : "Query", + "source" : [ { + "localId" : "17", + "locator" : "50:2-50:51", + "alias" : "I", + "expression" : { + "localId" : "16", + "locator" : "50:2-50:49", + "name" : "First MCV Dose Administered to Patient", + "libraryName" : "Measles", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "23", + "locator" : "50:53-50:114", + "type" : "In", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "21", + "locator" : "50:59-50:86", + "name" : "ToDate", + "libraryName" : "IMMZCom", + "type" : "FunctionRef", + "operand" : [ { + "type" : "As", + "operand" : { + "asType" : "{http://hl7.org/fhir}string", + "type" : "As", + "operand" : { + "localId" : "20", + "locator" : "50:74-50:85", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + }, + "asTypeSpecifier" : { + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + }, { + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + } ] + }, { + "localId" : "22", + "locator" : "50:95-50:114", + "name" : "Measurement Period", + "type" : "ParameterRef" + } ] + } + } + }, { + "localId" : "27", + "locator" : "55:1-56:24", + "name" : "Measure Population 05", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "27", + "s" : [ { + "value" : [ "/*\n * Numerator for first dose: Anyone having received the first dose\n */\n","define ","\"Measure Population 05\"",":\n\t" ] + }, { + "r" : "26", + "s" : [ { + "value" : [ "\"Initial Population 05\"" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "26", + "locator" : "56:2-56:24", + "name" : "Initial Population 05", + "type" : "ExpressionRef" + } + }, { + "localId" : "37", + "locator" : "61:1-62:115", + "name" : "Initial Population 40", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "37", + "s" : [ { + "value" : [ "/*\n * Target population for second dose: Any one over 15 months\n */\n","define ","\"Initial Population 40\"",":\n\t" ] + }, { + "r" : "36", + "s" : [ { + "s" : [ { + "r" : "29", + "s" : [ { + "r" : "28", + "s" : [ { + "s" : [ { + "value" : [ "Measles",".","\"Second MCV Dose Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "35", + "s" : [ { + "r" : "33", + "s" : [ { + "r" : "30", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "32", + "s" : [ { + "r" : "31", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "32", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "r" : "35", + "value" : [ " ","during"," " ] + }, { + "r" : "34", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "36", + "locator" : "62:2-62:115", + "type" : "Query", + "source" : [ { + "localId" : "29", + "locator" : "62:2-62:52", + "alias" : "I", + "expression" : { + "localId" : "28", + "locator" : "62:2-62:50", + "name" : "Second MCV Dose Administered to Patient", + "libraryName" : "Measles", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "35", + "locator" : "62:54-62:115", + "type" : "In", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "33", + "locator" : "62:60-62:87", + "name" : "ToDate", + "libraryName" : "IMMZCom", + "type" : "FunctionRef", + "operand" : [ { + "type" : "As", + "operand" : { + "asType" : "{http://hl7.org/fhir}string", + "type" : "As", + "operand" : { + "localId" : "32", + "locator" : "62:75-62:86", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + }, + "asTypeSpecifier" : { + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + }, { + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + } ] + }, { + "localId" : "34", + "locator" : "62:96-62:115", + "name" : "Measurement Period", + "type" : "ParameterRef" + } ] + } + } + }, { + "localId" : "39", + "locator" : "67:1-68:24", + "name" : "Measure Population 40", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "39", + "s" : [ { + "value" : [ "/*\n * Numerator for second dose: Anyone having received the first dose\n */\n","define ","\"Measure Population 40\"",":\n\t" ] + }, { + "r" : "38", + "s" : [ { + "value" : [ "\"Initial Population 40\"" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "38", + "locator" : "68:2-68:24", + "name" : "Initial Population 40", + "type" : "ExpressionRef" + } + }, { + "localId" : "54", + "locator" : "74:1-75:160", + "name" : "Stratification", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "value" : [ "/*\n * Combined stratifiers\n */\n","define ","\"Stratification\"",":\n\t\t" ] + }, { + "r" : "53", + "s" : [ { + "r" : "50", + "s" : [ { + "r" : "48", + "s" : [ { + "r" : "44", + "s" : [ { + "r" : "42", + "s" : [ { + "r" : "41", + "s" : [ { + "r" : "40", + "s" : [ { + "value" : [ "IMMZIndCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "41", + "s" : [ { + "value" : [ "\"By Administrative Gender Stratifier\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "42", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "43", + "s" : [ { + "value" : [ "':'" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "47", + "s" : [ { + "r" : "46", + "s" : [ { + "r" : "45", + "s" : [ { + "value" : [ "IMMZIndCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "46", + "s" : [ { + "value" : [ "\"Toddler By Age Stratifier\"" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "47", + "s" : [ { + "value" : [ "code" ] + } ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "':'" ] + } ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "52", + "s" : [ { + "r" : "51", + "s" : [ { + "value" : [ "IMMZIndCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "52", + "s" : [ { + "value" : [ "\"By Geographic Region Stratifier\"" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "53", + "locator" : "75:3-75:160", + "type" : "Concatenate", + "operand" : [ { + "localId" : "50", + "locator" : "75:3-75:113", + "type" : "Concatenate", + "operand" : [ { + "localId" : "48", + "locator" : "75:3-75:107", + "type" : "Concatenate", + "operand" : [ { + "localId" : "44", + "locator" : "75:3-75:61", + "type" : "Concatenate", + "operand" : [ { + "localId" : "42", + "locator" : "75:3-75:55", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "41", + "locator" : "75:3-75:50", + "name" : "By Administrative Gender Stratifier", + "libraryName" : "IMMZIndCom", + "type" : "ExpressionRef" + } + }, { + "localId" : "43", + "locator" : "75:59-75:61", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ":", + "type" : "Literal" + } ] + }, { + "localId" : "47", + "locator" : "75:65-75:107", + "path" : "code", + "type" : "Property", + "source" : { + "localId" : "46", + "locator" : "75:65-75:102", + "name" : "Toddler By Age Stratifier", + "libraryName" : "IMMZIndCom", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "49", + "locator" : "75:111-75:113", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : ":", + "type" : "Literal" + } ] + }, { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "52", + "locator" : "75:117-75:160", + "name" : "By Geographic Region Stratifier", + "libraryName" : "IMMZIndCom", + "type" : "ExpressionRef" + } ] + } ] + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles.json new file mode 100644 index 0000000000..69f00be89b --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZINDMeasles.json @@ -0,0 +1,131 @@ +{ + "resourceType" : "Library", + "id" : "IMMZINDMeasles", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onIMMZCommon
depends-onIMMZConcepts
depends-onIMMZConfig
depends-onIMMZIndicatorCommon
depends-onIMMZVaccineLibrary
depends-onFHIRCommon
depends-onIMMZD2DTMeaslesLogic

Parameters

Measurement Periodin01Period
Patientout01Patient
Initial Population 05out01Immunization
Measure Population 05out01Immunization
Initial Population 40out01Immunization
Measure Population 40out01Immunization
Stratificationout01string

Contents

text/cql

/*\n * Library: IMMZ.IND.Measles\n * Immunization coverage for Measles containing vaccine (Estimated Denominator) \n * Compares the administered doses of measles containing vaccines (MCV) with the estimated number of surviving infants (if dose 1) or a country supplied denominator (if dose 2) expressed as a percentage. \n * \n * Numerator: Number of administrations of vaccinations containing a Measles component during reporting period \n * Numerator Computation: COUNT immunization events WHERE administered product is a Measles vaccine (IMMZ.Z.DE9) during reporting period\n * Denominator: Estimated number of surviving infants (for dose 1) and country supplied denominator for dose sequence 2 (see comments)\n * Denominator Computation: PARAMETER number of surviving infants (if Dose Sequence = 1) or PARAMETER of country supplied denominator (if Dose Sequence = 2)\n * \n * Disaggregation:\n *   - Dose Sequence (1, 2)\n *   - Age Group (< 1 year or > 1 year)\n *   - Geographic Region\n *   - Administrative Gender (or Biological Sex)\n * \n * References: WHO Immunization Facility Analysis Guide (1), WHO / UNICEF Joint Reporting Form (3 - elements 4240 and 4260 )\n */\n\nlibrary IMMZINDMeasles\n\n// Start Skeleton CQL\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\ninclude IMMZCommon called IMMZCom\ninclude IMMZConcepts called IMMZc\ninclude IMMZConfig called IMMZCon\ninclude IMMZIndicatorCommon called IMMZIndCom\ninclude IMMZVaccineLibrary called IMMZvl\ninclude FHIRCommon called FC\ninclude IMMZD2DTMeaslesLogic called Measles\n// End Skeleton CQL\nparameter "Measurement Period" Interval<Date>\n\ncontext Patient\n\n/*\ndefine "MCV Doses Administered to Patient During Measurement Period":\n    Measles."MCV Doses Administered to Patient" I \n    where IMMZCom.ToDate(I.occurrence) during "Measurement Period"\n*/\n\ndefine function "Measure Observation" (Patient "Patient"):\n  1\n\n/*\n * Target population for first dose: Any one over 9 (in high transmission area) or 12 (in low transmission area) months old\n */ \ndefine "Initial Population 05":\n\tMeasles."First MCV Dose Administered to Patient" I where IMMZCom.ToDate(I.occurrence) during "Measurement Period"\n\n/*\n * Numerator for first dose: Anyone having received the first dose\n */\ndefine "Measure Population 05":\n\t"Initial Population 05"\n\n/*\n * Target population for second dose: Any one over 15 months\n */ \ndefine "Initial Population 40":\n\tMeasles."Second MCV Dose Administered to Patient" I where IMMZCom.ToDate(I.occurrence) during "Measurement Period"\n\n/*\n * Numerator for second dose: Anyone having received the first dose\n */\ndefine "Measure Population 40":\n\t"Initial Population 40"\n\n\n/*\n * Combined stratifiers\n */\ndefine "Stratification":\n\t\tIMMZIndCom."By Administrative Gender Stratifier".code + ':' + IMMZIndCom."Toddler By Age Stratifier".code + ':' + IMMZIndCom."By Geographic Region Stratifier"\n\n\n

Content not shown - (application/elm+xml, size = 19Kb)

Content not shown - (application/elm+json, size = 32Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZINDMeasles", + "version" : "0.1.0", + "name" : "IMMZINDMeasles", + "title" : "IMMZINDMeasles", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines population criteria for the Measles indicator in the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConfig" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZIndicatorCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZVaccineLibrary" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZD2DTMeaslesLogic" + }], + "parameter" : [{ + "name" : "Measurement Period", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "Period" + }, + { + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }, + { + "name" : "Initial Population 05", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Measure Population 05", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Initial Population 40", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Measure Population 40", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Immunization" + }, + { + "name" : "Stratification", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoKICogTGlicmFyeTogSU1NWi5JTkQuTWVhc2xlcwogKiBJbW11bml6YXRpb24gY292ZXJhZ2UgZm9yIE1lYXNsZXMgY29udGFpbmluZyB2YWNjaW5lIChFc3RpbWF0ZWQgRGVub21pbmF0b3IpIAogKiBDb21wYXJlcyB0aGUgYWRtaW5pc3RlcmVkIGRvc2VzIG9mIG1lYXNsZXMgY29udGFpbmluZyB2YWNjaW5lcyAoTUNWKSB3aXRoIHRoZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIHN1cnZpdmluZyBpbmZhbnRzIChpZiBkb3NlIDEpIG9yIGEgY291bnRyeSBzdXBwbGllZCBkZW5vbWluYXRvciAoaWYgZG9zZSAyKSBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLiAKICogCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIGFkbWluaXN0cmF0aW9ucyBvZiB2YWNjaW5hdGlvbnMgY29udGFpbmluZyBhIE1lYXNsZXMgY29tcG9uZW50IGR1cmluZyByZXBvcnRpbmcgcGVyaW9kIAogKiBOdW1lcmF0b3IgQ29tcHV0YXRpb246IENPVU5UIGltbXVuaXphdGlvbiBldmVudHMgV0hFUkUgYWRtaW5pc3RlcmVkIHByb2R1Y3QgaXMgYSBNZWFzbGVzIHZhY2NpbmUgKElNTVouWi5ERTkpIGR1cmluZyByZXBvcnRpbmcgcGVyaW9kCiAqIERlbm9taW5hdG9yOiBFc3RpbWF0ZWQgbnVtYmVyIG9mIHN1cnZpdmluZyBpbmZhbnRzIChmb3IgZG9zZSAxKSBhbmQgY291bnRyeSBzdXBwbGllZCBkZW5vbWluYXRvciBmb3IgZG9zZSBzZXF1ZW5jZSAyIChzZWUgY29tbWVudHMpCiAqIERlbm9taW5hdG9yIENvbXB1dGF0aW9uOiBQQVJBTUVURVIgbnVtYmVyIG9mIHN1cnZpdmluZyBpbmZhbnRzIChpZiBEb3NlIFNlcXVlbmNlID0gMSkgb3IgUEFSQU1FVEVSIG9mIGNvdW50cnkgc3VwcGxpZWQgZGVub21pbmF0b3IgKGlmIERvc2UgU2VxdWVuY2UgPSAyKQogKiAKICogRGlzYWdncmVnYXRpb246CiAqICAgLSBEb3NlIFNlcXVlbmNlICgxLCAyKQogKiAgIC0gQWdlIEdyb3VwICg8IDEgeWVhciBvciA+IDEgeWVhcikKICogICAtIEdlb2dyYXBoaWMgUmVnaW9uCiAqICAgLSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgKG9yIEJpb2xvZ2ljYWwgU2V4KQogKiAKICogUmVmZXJlbmNlczogV0hPIEltbXVuaXphdGlvbiBGYWNpbGl0eSBBbmFseXNpcyBHdWlkZSAoMSksIFdITyAvIFVOSUNFRiBKb2ludCBSZXBvcnRpbmcgRm9ybSAoMyAtIGVsZW1lbnRzIDQyNDAgYW5kIDQyNjAgKQogKi8KCmxpYnJhcnkgSU1NWklORE1lYXNsZXMKCi8vIFN0YXJ0IFNrZWxldG9uIENRTAp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIElNTVpDb20KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjCmluY2x1ZGUgSU1NWkNvbmZpZyBjYWxsZWQgSU1NWkNvbgppbmNsdWRlIElNTVpJbmRpY2F0b3JDb21tb24gY2FsbGVkIElNTVpJbmRDb20KaW5jbHVkZSBJTU1aVmFjY2luZUxpYnJhcnkgY2FsbGVkIElNTVp2bAppbmNsdWRlIEZISVJDb21tb24gY2FsbGVkIEZDCmluY2x1ZGUgSU1NWkQyRFRNZWFzbGVzTG9naWMgY2FsbGVkIE1lYXNsZXMKLy8gRW5kIFNrZWxldG9uIENRTApwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4KCmNvbnRleHQgUGF0aWVudAoKLyoKZGVmaW5lICJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6CiAgICBNZWFzbGVzLiJNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkgCiAgICB3aGVyZSBJTU1aQ29tLlRvRGF0ZShJLm9jY3VycmVuY2UpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoqLwoKZGVmaW5lIGZ1bmN0aW9uICJNZWFzdXJlIE9ic2VydmF0aW9uIiAoUGF0aWVudCAiUGF0aWVudCIpOgogIDEKCi8qCiAqIFRhcmdldCBwb3B1bGF0aW9uIGZvciBmaXJzdCBkb3NlOiBBbnkgb25lIG92ZXIgOSAoaW4gaGlnaCB0cmFuc21pc3Npb24gYXJlYSkgb3IgMTIgKGluIGxvdyB0cmFuc21pc3Npb24gYXJlYSkgbW9udGhzIG9sZAogKi8gCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIDA1IjoKCU1lYXNsZXMuIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJIHdoZXJlIElNTVpDb20uVG9EYXRlKEkub2NjdXJyZW5jZSkgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgovKgogKiBOdW1lcmF0b3IgZm9yIGZpcnN0IGRvc2U6IEFueW9uZSBoYXZpbmcgcmVjZWl2ZWQgdGhlIGZpcnN0IGRvc2UKICovCmRlZmluZSAiTWVhc3VyZSBQb3B1bGF0aW9uIDA1IjoKCSJJbml0aWFsIFBvcHVsYXRpb24gMDUiCgovKgogKiBUYXJnZXQgcG9wdWxhdGlvbiBmb3Igc2Vjb25kIGRvc2U6IEFueSBvbmUgb3ZlciAxNSBtb250aHMKICovIApkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiA0MCI6CglNZWFzbGVzLiJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkgd2hlcmUgSU1NWkNvbS5Ub0RhdGUoSS5vY2N1cnJlbmNlKSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCi8qCiAqIE51bWVyYXRvciBmb3Igc2Vjb25kIGRvc2U6IEFueW9uZSBoYXZpbmcgcmVjZWl2ZWQgdGhlIGZpcnN0IGRvc2UKICovCmRlZmluZSAiTWVhc3VyZSBQb3B1bGF0aW9uIDQwIjoKCSJJbml0aWFsIFBvcHVsYXRpb24gNDAiCgoKLyoKICogQ29tYmluZWQgc3RyYXRpZmllcnMKICovCmRlZmluZSAiU3RyYXRpZmljYXRpb24iOgoJCUlNTVpJbmRDb20uIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIi5jb2RlICsgJzonICsgSU1NWkluZENvbS4iVG9kZGxlciBCeSBBZ2UgU3RyYXRpZmllciIuY29kZSArICc6JyArIElNTVpJbmRDb20uIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCgoK" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNTQiPgogICAgICAgICA8YTpzPi8qCiAqIExpYnJhcnk6IElNTVouSU5ELk1lYXNsZXMKICogSW1tdW5pemF0aW9uIGNvdmVyYWdlIGZvciBNZWFzbGVzIGNvbnRhaW5pbmcgdmFjY2luZSAoRXN0aW1hdGVkIERlbm9taW5hdG9yKSAKICogQ29tcGFyZXMgdGhlIGFkbWluaXN0ZXJlZCBkb3NlcyBvZiBtZWFzbGVzIGNvbnRhaW5pbmcgdmFjY2luZXMgKE1DVikgd2l0aCB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBzdXJ2aXZpbmcgaW5mYW50cyAoaWYgZG9zZSAxKSBvciBhIGNvdW50cnkgc3VwcGxpZWQgZGVub21pbmF0b3IgKGlmIGRvc2UgMikgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZS4gCiAqIAogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBhZG1pbmlzdHJhdGlvbnMgb2YgdmFjY2luYXRpb25zIGNvbnRhaW5pbmcgYSBNZWFzbGVzIGNvbXBvbmVudCBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZCAKICogTnVtZXJhdG9yIENvbXB1dGF0aW9uOiBDT1VOVCBpbW11bml6YXRpb24gZXZlbnRzIFdIRVJFIGFkbWluaXN0ZXJlZCBwcm9kdWN0IGlzIGEgTWVhc2xlcyB2YWNjaW5lIChJTU1aLlouREU5KSBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvcjogRXN0aW1hdGVkIG51bWJlciBvZiBzdXJ2aXZpbmcgaW5mYW50cyAoZm9yIGRvc2UgMSkgYW5kIGNvdW50cnkgc3VwcGxpZWQgZGVub21pbmF0b3IgZm9yIGRvc2Ugc2VxdWVuY2UgMiAoc2VlIGNvbW1lbnRzKQogKiBEZW5vbWluYXRvciBDb21wdXRhdGlvbjogUEFSQU1FVEVSIG51bWJlciBvZiBzdXJ2aXZpbmcgaW5mYW50cyAoaWYgRG9zZSBTZXF1ZW5jZSA9IDEpIG9yIFBBUkFNRVRFUiBvZiBjb3VudHJ5IHN1cHBsaWVkIGRlbm9taW5hdG9yIChpZiBEb3NlIFNlcXVlbmNlID0gMikKICogCiAqIERpc2FnZ3JlZ2F0aW9uOgogKiAgIC0gRG9zZSBTZXF1ZW5jZSAoMSwgMikKICogICAtIEFnZSBHcm91cCAoJmx0OyAxIHllYXIgb3IgPiAxIHllYXIpCiAqICAgLSBHZW9ncmFwaGljIFJlZ2lvbgogKiAgIC0gQWRtaW5pc3RyYXRpdmUgR2VuZGVyIChvciBCaW9sb2dpY2FsIFNleCkKICogCiAqIFJlZmVyZW5jZXM6IFdITyBJbW11bml6YXRpb24gRmFjaWxpdHkgQW5hbHlzaXMgR3VpZGUgKDEpLCBXSE8gLyBVTklDRUYgSm9pbnQgUmVwb3J0aW5nIEZvcm0gKDMgLSBlbGVtZW50cyA0MjQwIGFuZCA0MjYwICkKICovCmxpYnJhcnkgSU1NWklORE1lYXNsZXM8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpJTkRNZWFzbGVzIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjIzOjEtMjM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPi8vIFN0YXJ0IFNrZWxldG9uIENRTAp1c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iMjQ6MS0yNDozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSIyNToxLTI1OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpDb20iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWkNvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSIyNjoxLTI2OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpjIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aYzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1IiBsb2NhdG9yPSIyNzoxLTI3OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpDb24iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uZmlnIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uZmlnPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWkNvbjwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSIyODoxLTI4OjQ1IiBsb2NhbElkZW50aWZpZXI9IklNTVpJbmRDb20iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aSW5kaWNhdG9yQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aSW5kaWNhdG9yQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWkluZENvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIyOToxLTI5OjQwIiBsb2NhbElkZW50aWZpZXI9IklNTVp2bCIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpWYWNjaW5lTGlicmFyeSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWlZhY2NpbmVMaWJyYXJ5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWnZsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjMwOjEtMzA6MjgiIGxvY2FsSWRlbnRpZmllcj0iRkMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9GSElSQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgRkM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMzE6MS0zMTo0MyIgbG9jYWxJZGVudGlmaWVyPSJNZWFzbGVzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkQyRFRNZWFzbGVzTG9naWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpEMkRUTWVhc2xlc0xvZ2ljPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgTWVhc2xlczwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjMzOjEtMzM6NDUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBFbmQgU2tlbGV0b24gQ1FMCnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIzMzozMi0zMzo0NSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjMzOjQxLTMzOjQ0IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzNToxLTM1OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNToxLTM1OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjQzOjEtNDQ6MyIgbmFtZT0iTWVhc3VyZSBPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICA8YTpzPi8qCmRlZmluZSAmcXVvdDtNQ1YgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCZxdW90OzoKICAgIE1lYXNsZXMuJnF1b3Q7TUNWIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7IEkgCiAgICB3aGVyZSBJTU1aQ29tLlRvRGF0ZShJLm9jY3VycmVuY2UpIGR1cmluZyAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsKKi8KZGVmaW5lIGZ1bmN0aW9uICZxdW90O01lYXN1cmUgT2JzZXJ2YXRpb24mcXVvdDsgKFBhdGllbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPjE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSI0NDozIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlBhdGllbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjQzOjQ4LTQzOjU2IiBuYW1lPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iNDk6MS01MDoxMTQiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiAwNSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBUYXJnZXQgcG9wdWxhdGlvbiBmb3IgZmlyc3QgZG9zZTogQW55IG9uZSBvdmVyIDkgKGluIGhpZ2ggdHJhbnNtaXNzaW9uIGFyZWEpIG9yIDEyIChpbiBsb3cgdHJhbnNtaXNzaW9uIGFyZWEpIG1vbnRocyBvbGQKICovCmRlZmluZSAmcXVvdDtJbml0aWFsIFBvcHVsYXRpb24gMDUmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZWFzbGVzLiZxdW90O0ZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSI1MDoyLTUwOjExNCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNyIgbG9jYXRvcj0iNTA6Mi01MDo1MSIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iNTA6Mi01MDo0OSIgbmFtZT0iRmlyc3QgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGxpYnJhcnlOYW1lPSJNZWFzbGVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSI1MDo1My01MDoxMTQiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMSIgbG9jYXRvcj0iNTA6NTktNTA6ODYiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSI1MDo3NC01MDo4NSIgcGF0aD0ib2NjdXJyZW5jZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMiIgbG9jYXRvcj0iNTA6OTUtNTA6MTE0IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNyIgbG9jYXRvcj0iNTU6MS01NjoyNCIgbmFtZT0iTWVhc3VyZSBQb3B1bGF0aW9uIDA1IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIE51bWVyYXRvciBmb3IgZmlyc3QgZG9zZTogQW55b25lIGhhdmluZyByZWNlaXZlZCB0aGUgZmlyc3QgZG9zZQogKi8KZGVmaW5lICZxdW90O01lYXN1cmUgUG9wdWxhdGlvbiAwNSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbml0aWFsIFBvcHVsYXRpb24gMDUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSI1NjoyLTU2OjI0IiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24gMDUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSI2MToxLTYyOjExNSIgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIDQwIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIFRhcmdldCBwb3B1bGF0aW9uIGZvciBzZWNvbmQgZG9zZTogQW55IG9uZSBvdmVyIDE1IG1vbnRocwogKi8KZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiA0MCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1lYXNsZXMuJnF1b3Q7U2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSI2MjoyLTYyOjExNSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOSIgbG9jYXRvcj0iNjI6Mi02Mjo1MiIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iNjI6Mi02Mjo1MCIgbmFtZT0iU2Vjb25kIE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iTWVhc2xlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNjI6NTQtNjI6MTE1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjYyOjYwLTYyOjg3IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJJTU1aQ29tIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMiIgbG9jYXRvcj0iNjI6NzUtNjI6ODYiIHBhdGg9Im9jY3VycmVuY2UiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjYyOjk2LTYyOjExNSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzkiIGxvY2F0b3I9IjY3OjEtNjg6MjQiIG5hbWU9Ik1lYXN1cmUgUG9wdWxhdGlvbiA0MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBOdW1lcmF0b3IgZm9yIHNlY29uZCBkb3NlOiBBbnlvbmUgaGF2aW5nIHJlY2VpdmVkIHRoZSBmaXJzdCBkb3NlCiAqLwpkZWZpbmUgJnF1b3Q7TWVhc3VyZSBQb3B1bGF0aW9uIDQwJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiA0MCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjY4OjItNjg6MjQiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiA0MCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9Ijc0OjEtNzU6MTYwIiBuYW1lPSJTdHJhdGlmaWNhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBDb21iaW5lZCBzdHJhdGlmaWVycwogKi8KZGVmaW5lICZxdW90O1N0cmF0aWZpY2F0aW9uJnF1b3Q7OgoJCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aSW5kQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPic6JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkluZENvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nOic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkluZENvbTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTMiIGxvY2F0b3I9Ijc1OjMtNzU6MTYwIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MCIgbG9jYXRvcj0iNzU6My03NToxMTMiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSI3NTozLTc1OjEwNyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQiIGxvY2F0b3I9Ijc1OjMtNzU6NjEiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSI3NTozLTc1OjU1IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI3NTozLTc1OjUwIiBuYW1lPSJCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciIgbGlicmFyeU5hbWU9IklNTVpJbmRDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDMiIGxvY2F0b3I9Ijc1OjU5LTc1OjYxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iOiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NyIgbG9jYXRvcj0iNzU6NjUtNzU6MTA3IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSI3NTo2NS03NToxMDIiIG5hbWU9IlRvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXIiIGxpYnJhcnlOYW1lPSJJTU1aSW5kQ29tIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkiIGxvY2F0b3I9Ijc1OjExMS03NToxMTMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI6IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSI3NToxMTctNzU6MTYwIiBuYW1lPSJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSU1NWkluZENvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNTQiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG4gKiBMaWJyYXJ5OiBJTU1aLklORC5NZWFzbGVzXG4gKiBJbW11bml6YXRpb24gY292ZXJhZ2UgZm9yIE1lYXNsZXMgY29udGFpbmluZyB2YWNjaW5lIChFc3RpbWF0ZWQgRGVub21pbmF0b3IpIFxuICogQ29tcGFyZXMgdGhlIGFkbWluaXN0ZXJlZCBkb3NlcyBvZiBtZWFzbGVzIGNvbnRhaW5pbmcgdmFjY2luZXMgKE1DVikgd2l0aCB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBzdXJ2aXZpbmcgaW5mYW50cyAoaWYgZG9zZSAxKSBvciBhIGNvdW50cnkgc3VwcGxpZWQgZGVub21pbmF0b3IgKGlmIGRvc2UgMikgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZS4gXG4gKiBcbiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIGFkbWluaXN0cmF0aW9ucyBvZiB2YWNjaW5hdGlvbnMgY29udGFpbmluZyBhIE1lYXNsZXMgY29tcG9uZW50IGR1cmluZyByZXBvcnRpbmcgcGVyaW9kIFxuICogTnVtZXJhdG9yIENvbXB1dGF0aW9uOiBDT1VOVCBpbW11bml6YXRpb24gZXZlbnRzIFdIRVJFIGFkbWluaXN0ZXJlZCBwcm9kdWN0IGlzIGEgTWVhc2xlcyB2YWNjaW5lIChJTU1aLlouREU5KSBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZFxuICogRGVub21pbmF0b3I6IEVzdGltYXRlZCBudW1iZXIgb2Ygc3Vydml2aW5nIGluZmFudHMgKGZvciBkb3NlIDEpIGFuZCBjb3VudHJ5IHN1cHBsaWVkIGRlbm9taW5hdG9yIGZvciBkb3NlIHNlcXVlbmNlIDIgKHNlZSBjb21tZW50cylcbiAqIERlbm9taW5hdG9yIENvbXB1dGF0aW9uOiBQQVJBTUVURVIgbnVtYmVyIG9mIHN1cnZpdmluZyBpbmZhbnRzIChpZiBEb3NlIFNlcXVlbmNlID0gMSkgb3IgUEFSQU1FVEVSIG9mIGNvdW50cnkgc3VwcGxpZWQgZGVub21pbmF0b3IgKGlmIERvc2UgU2VxdWVuY2UgPSAyKVxuICogXG4gKiBEaXNhZ2dyZWdhdGlvbjpcbiAqICAgLSBEb3NlIFNlcXVlbmNlICgxLCAyKVxuICogICAtIEFnZSBHcm91cCAoPCAxIHllYXIgb3IgPiAxIHllYXIpXG4gKiAgIC0gR2VvZ3JhcGhpYyBSZWdpb25cbiAqICAgLSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgKG9yIEJpb2xvZ2ljYWwgU2V4KVxuICogXG4gKiBSZWZlcmVuY2VzOiBXSE8gSW1tdW5pemF0aW9uIEZhY2lsaXR5IEFuYWx5c2lzIEd1aWRlICgxKSwgV0hPIC8gVU5JQ0VGIEpvaW50IFJlcG9ydGluZyBGb3JtICgzIC0gZWxlbWVudHMgNDI0MCBhbmQgNDI2MCApXG4gKi9cbiIsImxpYnJhcnkgSU1NWklORE1lYXNsZXMiIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiSU1NWklORE1lYXNsZXMiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjM6MS0yMzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gU3RhcnQgU2tlbGV0b24gQ1FMXG4iLCJ1c2luZyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiaW5jbHVkZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoxLTI0OjM1IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjEtMjU6MzMiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aQ29tIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29tbW9uIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSU1NWkNvbSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjoxLTI2OjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWmMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb25jZXB0cyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29uY2VwdHMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSU1NWmMiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc6MS0yNzozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpDb24iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb25maWciLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmZpZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJJTU1aQ29uIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OjEtMjg6NDUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aSW5kQ29tIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aSW5kaWNhdG9yQ29tbW9uIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpJbmRpY2F0b3JDb21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSU1NWkluZENvbSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxLTI5OjQwIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWnZsIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aVmFjY2luZUxpYnJhcnkiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWlZhY2NpbmVMaWJyYXJ5IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVp2bCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDoxLTMwOjI4IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJGQyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMToxLTMxOjQzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiTWVhc2xlcyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkQyRFRNZWFzbGVzTG9naWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkQyRFRNZWFzbGVzTG9naWMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiTWVhc2xlcyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJwYXJhbWV0ZXJzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOjEtMzM6NDUiLAogICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gRW5kIFNrZWxldG9uIENRTFxuIiwicGFyYW1ldGVyICIsIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgInBhcmFtZXRlclR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6MzItMzM6NDUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgInBvaW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzo0MS0zMzo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjEtMzU6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjEtMzU6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzoxLTQ0OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZSBPYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbmRlZmluZSBcIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kXCI6XG4gICAgTWVhc2xlcy5cIk1DViBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudFwiIEkgXG4gICAgd2hlcmUgSU1NWkNvbS5Ub0RhdGUoSS5vY2N1cnJlbmNlKSBkdXJpbmcgXCJNZWFzdXJlbWVudCBQZXJpb2RcIlxuKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJcIk1lYXN1cmUgT2JzZXJ2YXRpb25cIiIsIiAoIiwiUGF0aWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUGF0aWVudFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjEiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6MyIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6NDgtNDM6NTYiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNTA6MTE0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluaXRpYWwgUG9wdWxhdGlvbiAwNSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbiAqIFRhcmdldCBwb3B1bGF0aW9uIGZvciBmaXJzdCBkb3NlOiBBbnkgb25lIG92ZXIgOSAoaW4gaGlnaCB0cmFuc21pc3Npb24gYXJlYSkgb3IgMTIgKGluIGxvdyB0cmFuc21pc3Npb24gYXJlYSkgbW9udGhzIG9sZFxuICovXG4iLCJkZWZpbmUgIiwiXCJJbml0aWFsIFBvcHVsYXRpb24gMDVcIiIsIjpcblx0IiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVhc2xlcyIsIi4iLCJcIkZpcnN0IE1DViBEb3NlIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50XCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0RhdGUiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2NjdXJyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiZHVyaW5nIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDoyLTUwOjExNCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDoyLTUwOjUxIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJJIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6Mi01MDo0OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiTWVhc2xlcyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDo1My01MDoxMTQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjU5LTUwOjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjc0LTUwOjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm9jY3VycmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjk1LTUwOjExNCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjEtNTY6MjQiLAogICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZSBQb3B1bGF0aW9uIDA1IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuICogTnVtZXJhdG9yIGZvciBmaXJzdCBkb3NlOiBBbnlvbmUgaGF2aW5nIHJlY2VpdmVkIHRoZSBmaXJzdCBkb3NlXG4gKi9cbiIsImRlZmluZSAiLCJcIk1lYXN1cmUgUG9wdWxhdGlvbiAwNVwiIiwiOlxuXHQiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSW5pdGlhbCBQb3B1bGF0aW9uIDA1XCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6Mi01NjoyNCIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbml0aWFsIFBvcHVsYXRpb24gMDUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToxLTYyOjExNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJbml0aWFsIFBvcHVsYXRpb24gNDAiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG4gKiBUYXJnZXQgcG9wdWxhdGlvbiBmb3Igc2Vjb25kIGRvc2U6IEFueSBvbmUgb3ZlciAxNSBtb250aHNcbiAqL1xuIiwiZGVmaW5lICIsIlwiSW5pdGlhbCBQb3B1bGF0aW9uIDQwXCIiLCI6XG5cdCIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lYXNsZXMiLCIuIiwiXCJTZWNvbmQgTUNWIERvc2UgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvRGF0ZSIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvY2N1cnJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJkdXJpbmciLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjItNjI6MTE1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjItNjI6NTIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MjoyLTYyOjUwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNlY29uZCBNQ1YgRG9zZSBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiTWVhc2xlcyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Mjo1NC02MjoxMTUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjYwLTYyOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjc1LTYyOjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm9jY3VycmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjk2LTYyOjExNSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjEtNjg6MjQiLAogICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZSBQb3B1bGF0aW9uIDQwIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuICogTnVtZXJhdG9yIGZvciBzZWNvbmQgZG9zZTogQW55b25lIGhhdmluZyByZWNlaXZlZCB0aGUgZmlyc3QgZG9zZVxuICovXG4iLCJkZWZpbmUgIiwiXCJNZWFzdXJlIFBvcHVsYXRpb24gNDBcIiIsIjpcblx0IiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkluaXRpYWwgUG9wdWxhdGlvbiA0MFwiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjItNjg6MjQiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSW5pdGlhbCBQb3B1bGF0aW9uIDQwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6MS03NToxNjAiLAogICAgICAgICAgICAibmFtZSIgOiAiU3RyYXRpZmljYXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG4gKiBDb21iaW5lZCBzdHJhdGlmaWVyc1xuICovXG4iLCJkZWZpbmUgIiwiXCJTdHJhdGlmaWNhdGlvblwiIiwiOlxuXHRcdCIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkluZENvbSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllclwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJzonIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICsgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpJbmRDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiVG9kZGxlciBCeSBBZ2UgU3RyYXRpZmllclwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY29kZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIic6JyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpJbmRDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllclwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNTMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NToxNjAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjMtNzU6MTEzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NTozLTc1OjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6My03NTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NTozLTc1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aSW5kQ29tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6NTktNzU6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiOiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6NjUtNzU6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjY1LTc1OjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb2RkbGVyIEJ5IEFnZSBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aSW5kQ29tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc1OjExMS03NToxMTMiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiOiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NToxMTctNzU6MTYwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpJbmRDb20iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon-2.json new file mode 100644 index 0000000000..3c1cb4c96d --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon-2.json @@ -0,0 +1,5338 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "406", + "s" : [ { + "value" : [ "/**\n * Immunization Common Stratifiers by Patients as Context\n */\n","library IMMZIndicatorCommon" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZIndicatorCommon", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "7:1-7:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "9:1-9:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "10:1-10:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "11:1-11:33", + "localIdentifier" : "IMMZCom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZCommon" ] + } ] + }, { + "value" : [ " called ","IMMZCom" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "12:1-12:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "13:1-13:29", + "localIdentifier" : "WCom", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOCommon" ] + } ] + }, { + "value" : [ " called ","WCom" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "14:1-14:29", + "localIdentifier" : "WC", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOConcepts" ] + } ] + }, { + "value" : [ " called ","WC" ] + } ] + } + } ] + } ] + }, + "parameters" : { + "def" : [ { + "localId" : "14", + "locator" : "16:1-16:88", + "name" : "Measurement Period", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "14", + "s" : [ { + "value" : [ "","parameter ","\"Measurement Period\""," " ] + }, { + "r" : "13", + "s" : [ { + "value" : [ "Interval<" ] + }, { + "r" : "12", + "s" : [ { + "value" : [ "Date" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ " default " ] + }, { + "r" : "11", + "s" : [ { + "r" : "9", + "value" : [ "Interval[","@2020-01-01",", ","@2020-12-31","]" ] + } ] + } ] + } + } ], + "default" : { + "localId" : "11", + "locator" : "16:55-16:88", + "lowClosed" : true, + "highClosed" : true, + "type" : "Interval", + "low" : { + "localId" : "9", + "locator" : "16:64-16:74", + "type" : "Date", + "year" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2020", + "type" : "Literal" + }, + "month" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + }, + "day" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } + }, + "high" : { + "localId" : "10", + "locator" : "16:77-16:87", + "type" : "Date", + "year" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2020", + "type" : "Literal" + }, + "month" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "12", + "type" : "Literal" + }, + "day" : { + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "31", + "type" : "Literal" + } + } + }, + "parameterTypeSpecifier" : { + "localId" : "13", + "locator" : "16:32-16:45", + "type" : "IntervalTypeSpecifier", + "pointType" : { + "localId" : "12", + "locator" : "16:41-16:44", + "name" : "{urn:hl7-org:elm-types:r1}Date", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, + "codeSystems" : { + "def" : [ { + "localId" : "8", + "locator" : "15:1-15:92", + "name" : "ISO-8601-Derived Periods", + "id" : "http://ohie.org/CodeSystem/iso-8601-derived-periods", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","codesystem ","\"ISO-8601-Derived Periods\"",": ","'http://ohie.org/CodeSystem/iso-8601-derived-periods'" ] + } ] + } + } ] + }, { + "localId" : "59", + "locator" : "54:1-54:85", + "name" : "Administrative Gender Codes", + "id" : "http://hl7.org/fhir/administrative-gender", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "59", + "s" : [ { + "value" : [ "","codesystem ","\"Administrative Gender Codes\"",": ","'http://hl7.org/fhir/administrative-gender'" ] + } ] + } + } ] + } ] + }, + "codes" : { + "def" : [ { + "localId" : "16", + "locator" : "19:1-19:78", + "name" : "P0Y--P1Y", + "id" : "P0Y--P1Y", + "display" : "< 1 year", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "16", + "s" : [ { + "value" : [ "// Age Groups for Vaccines for infants\n","code ","\"P0Y--P1Y\"",": ","'P0Y--P1Y'"," from " ] + }, { + "r" : "15", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 1 year'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "15", + "locator" : "19:34-19:59", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "18", + "locator" : "20:1-20:84", + "name" : "P1Y--P9999Y", + "id" : "P1Y--P9999Y", + "display" : "> 1 year", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "18", + "s" : [ { + "value" : [ "","code ","\"P1Y--P9999Y\"",": ","'P1Y--P9999Y'"," from " ] + }, { + "r" : "17", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 1 year'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "17", + "locator" : "20:40-20:65", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "20", + "locator" : "23:1-23:79", + "name" : "P0Y--P2Y", + "id" : "P0Y--P2Y", + "display" : "< 2 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "20", + "s" : [ { + "value" : [ "// Age Groups for Vaccines for Toddlers\n","code ","\"P0Y--P2Y\"",": ","'P0Y--P2Y'"," from " ] + }, { + "r" : "19", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 2 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "19", + "locator" : "23:34-23:59", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "22", + "locator" : "24:1-24:76", + "name" : "P1Y--P2Y", + "id" : "P1Y--P2Y", + "display" : "1 year", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "22", + "s" : [ { + "value" : [ "","code ","\"P1Y--P2Y\"",": ","'P1Y--P2Y'"," from " ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'1 year'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "21", + "locator" : "24:34-24:59", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "24", + "locator" : "25:1-25:85", + "name" : "P2Y--P9999Y", + "id" : "P2Y--P9999Y", + "display" : "> 2 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "24", + "s" : [ { + "value" : [ "","code ","\"P2Y--P9999Y\"",": ","'P2Y--P9999Y'"," from " ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 2 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "23", + "locator" : "25:40-25:65", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "26", + "locator" : "28:1-28:95", + "name" : "PT0H--PT24H", + "id" : "PT0H--PT24H", + "display" : "Within 24H of Birth", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "26", + "s" : [ { + "value" : [ "// Age groups for newborns\n","code ","\"PT0H--PT24H\"",": ","'PT0H--PT24H'"," from " ] + }, { + "r" : "25", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'Within 24H of Birth'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "25", + "locator" : "28:40-28:65", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "28", + "locator" : "29:1-29:83", + "name" : "PT24H--P2W", + "id" : "PT24H--P2W", + "display" : "< 2 Weeks", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "28", + "s" : [ { + "value" : [ "","code ","\"PT24H--P2W\"",": ","'PT24H--P2W'"," from " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 2 Weeks'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "27", + "locator" : "29:38-29:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "30", + "locator" : "30:1-30:85", + "name" : "P2W--P9999Y", + "id" : "P2W--P9999Y", + "display" : "> 2 Weeks", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "30", + "s" : [ { + "value" : [ "","code ","\"P2W--P9999Y\"",": ","'P2W--P9999Y'"," from " ] + }, { + "r" : "29", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 2 Weeks'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "29", + "locator" : "30:40-30:65", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "32", + "locator" : "33:1-33:79", + "name" : "P0Y--P9Y", + "id" : "P0Y--P9Y", + "display" : "< 9 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "32", + "s" : [ { + "value" : [ "// Age groups for adolescent\n","code ","\"P0Y--P9Y\"",": ","'P0Y--P9Y'"," from " ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 9 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "31", + "locator" : "33:34-33:59", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "34", + "locator" : "34:1-34:84", + "name" : "P9Y--P14Y", + "id" : "P9Y--P14Y", + "display" : "9 - 14 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "34", + "s" : [ { + "value" : [ "","code ","\"P9Y--P14Y\"",": ","'P9Y--P14Y'"," from " ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'9 - 14 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "33", + "locator" : "34:36-34:61", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "36", + "locator" : "35:1-35:88", + "name" : "P15Y--P9999Y", + "id" : "P15Y--P9999Y", + "display" : "> 15 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "","code ","\"P15Y--P9999Y\"",": ","'P15Y--P9999Y'"," from " ] + }, { + "r" : "35", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 15 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "35", + "locator" : "35:42-35:67", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "38", + "locator" : "38:1-38:80", + "name" : "P0M--P9M", + "id" : "P0M--P9M", + "display" : "< 9 months", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "38", + "s" : [ { + "value" : [ "// RCV Startifiers\n","code ","\"P0M--P9M\"",": ","'P0M--P9M'"," from " ] + }, { + "r" : "37", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 9 months'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "37", + "locator" : "38:34-38:59", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "40", + "locator" : "39:1-39:85", + "name" : "P9M--P18M", + "id" : "P9M--P18M", + "display" : "9 - 18 months", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "40", + "s" : [ { + "value" : [ "","code ","\"P9M--P18M\"",": ","'P9M--P18M'"," from " ] + }, { + "r" : "39", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'9 - 18 months'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "39", + "locator" : "39:36-39:61", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "42", + "locator" : "40:1-40:94", + "name" : "P18M--P15Y", + "id" : "P18M--P15Y", + "display" : "18 months - 15 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "42", + "s" : [ { + "value" : [ "","code ","\"P18M--P15Y\"",": ","'P18M--P15Y'"," from " ] + }, { + "r" : "41", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'18 months - 15 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "41", + "locator" : "40:38-40:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "44", + "locator" : "43:1-43:83", + "name" : "P0M--P12M", + "id" : "P0M--P12M", + "display" : "< 12 months", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "44", + "s" : [ { + "value" : [ "// Varicella Age groups\n","code ","\"P0M--P12M\"",": ","'P0M--P12M'"," from " ] + }, { + "r" : "43", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'< 12 months'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "43", + "locator" : "43:36-43:61", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "46", + "locator" : "44:1-44:88", + "name" : "P12M--P18M", + "id" : "P12M--P18M", + "display" : "12 - 18 months", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "46", + "s" : [ { + "value" : [ "","code ","\"P12M--P18M\"",": ","'P12M--P18M'"," from " ] + }, { + "r" : "45", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'12 - 18 months'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "45", + "locator" : "44:38-44:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "48", + "locator" : "45:1-45:88", + "name" : "P18M--P36M", + "id" : "P18M--P36M", + "display" : "18 - 36 months", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "48", + "s" : [ { + "value" : [ "","code ","\"P18M--P36M\"",": ","'P18M--P36M'"," from " ] + }, { + "r" : "47", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'18 - 36 months'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "47", + "locator" : "45:38-45:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "50", + "locator" : "46:1-46:94", + "name" : "P36M--P12Y", + "id" : "P36M--P12Y", + "display" : "36 months - 12 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "50", + "s" : [ { + "value" : [ "","code ","\"P36M--P12Y\"",": ","'P36M--P12Y'"," from " ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'36 months - 12 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "49", + "locator" : "46:38-46:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "52", + "locator" : "47:1-47:88", + "name" : "P12Y--P9999Y", + "id" : "P12Y--P9999Y", + "display" : "> 12 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "52", + "s" : [ { + "value" : [ "","code ","\"P12Y--P9999Y\"",": ","'P12Y--P9999Y'"," from " ] + }, { + "r" : "51", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 12 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "51", + "locator" : "47:42-47:67", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "54", + "locator" : "50:1-50:89", + "name" : "P1Y--P15Y", + "id" : "P1Y--P15Y", + "display" : "1 year - 15 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "54", + "s" : [ { + "value" : [ "// Influenza Age Groups\n","code ","\"P1Y--P15Y\"",": ","'P1Y--P15Y'"," from " ] + }, { + "r" : "53", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'1 year - 15 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "53", + "locator" : "50:36-50:61", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "56", + "locator" : "51:1-51:93", + "name" : "P15Y--P60Y", + "id" : "P15Y--P60Y", + "display" : "15 years - 60 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "56", + "s" : [ { + "value" : [ "","code ","\"P15Y--P60Y\"",": ","'P15Y--P60Y'"," from " ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'15 years - 60 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "55", + "locator" : "51:38-51:63", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "58", + "locator" : "52:1-52:88", + "name" : "P60Y--P9999Y", + "id" : "P60Y--P9999Y", + "display" : "> 60 years", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "58", + "s" : [ { + "value" : [ "","code ","\"P60Y--P9999Y\"",": ","'P60Y--P9999Y'"," from " ] + }, { + "r" : "57", + "s" : [ { + "value" : [ "\"ISO-8601-Derived Periods\"" ] + } ] + }, { + "value" : [ " display ","'> 60 years'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "57", + "locator" : "52:42-52:67", + "name" : "ISO-8601-Derived Periods" + } + }, { + "localId" : "61", + "locator" : "55:1-55:72", + "name" : "Males", + "id" : "male", + "display" : "Males", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "61", + "s" : [ { + "value" : [ "","code ","\"Males\""," : ","'male'"," from " ] + }, { + "r" : "60", + "s" : [ { + "value" : [ "\"Administrative Gender Codes\"" ] + } ] + }, { + "value" : [ " display ","'Males'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "60", + "locator" : "55:28-55:56", + "name" : "Administrative Gender Codes" + } + }, { + "localId" : "63", + "locator" : "56:1-56:78", + "name" : "Females", + "id" : "female", + "display" : "Females", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "63", + "s" : [ { + "value" : [ "","code ","\"Females\""," : ","'female'"," from " ] + }, { + "r" : "62", + "s" : [ { + "value" : [ "\"Administrative Gender Codes\"" ] + } ] + }, { + "value" : [ " display ","'Females'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "62", + "locator" : "56:32-56:60", + "name" : "Administrative Gender Codes" + } + }, { + "localId" : "65", + "locator" : "57:1-57:76", + "name" : "Other", + "id" : "other", + "display" : "Other/NA", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "65", + "s" : [ { + "value" : [ "","code ","\"Other\""," : ","'other'"," from " ] + }, { + "r" : "64", + "s" : [ { + "value" : [ "\"Administrative Gender Codes\"" ] + } ] + }, { + "value" : [ " display ","'Other/NA'" ] + } ] + } + } ], + "codeSystem" : { + "localId" : "64", + "locator" : "57:29-57:57", + "name" : "Administrative Gender Codes" + } + } ] + }, + "statements" : { + "def" : [ { + "locator" : "58:1-58:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "58:1-58:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "89", + "locator" : "64:1-70:7", + "name" : "Newborn By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "89", + "s" : [ { + "value" : [ "/** \n * Infant disaggregations by age\n */\n","define ","\"Newborn By Age Stratifier\"",":\n " ] + }, { + "r" : "88", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "72", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "70", + "s" : [ { + "r" : "68", + "s" : [ { + "value" : [ "AgeInHoursAt","(" ] + }, { + "r" : "67", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "66", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "69", + "value" : [ " ","<="," ","24" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "71", + "s" : [ { + "value" : [ "\"PT0H--PT24H\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "77", + "s" : [ { + "r" : "75", + "s" : [ { + "value" : [ "AgeInWeeksAt","(" ] + }, { + "r" : "74", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "73", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "76", + "value" : [ " ","<="," ","2" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "78", + "s" : [ { + "value" : [ "\"PT24H--P2W\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "86", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "84", + "s" : [ { + "r" : "82", + "s" : [ { + "value" : [ "AgeInWeeksAt","(" ] + }, { + "r" : "81", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "83", + "value" : [ " ",">"," ","2" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "85", + "s" : [ { + "value" : [ "\"P2W--P9999Y\"" ] + } ] + } ] + }, { + "r" : "87", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "88", + "locator" : "65:5-70:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "72", + "locator" : "66:9-66:81", + "when" : { + "localId" : "70", + "locator" : "66:14-66:62", + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "68", + "locator" : "66:14-66:56", + "precision" : "Hour", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "67", + "locator" : "66:27-66:55", + "type" : "Start", + "operand" : { + "localId" : "66", + "locator" : "66:36-66:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "69", + "locator" : "66:61-66:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "24", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "71", + "locator" : "66:69-66:81", + "name" : "PT0H--PT24H", + "type" : "CodeRef" + } + }, { + "localId" : "79", + "locator" : "67:9-67:79", + "when" : { + "localId" : "77", + "locator" : "67:14-67:61", + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "75", + "locator" : "67:14-67:56", + "precision" : "Week", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "74", + "locator" : "67:27-67:55", + "type" : "Start", + "operand" : { + "localId" : "73", + "locator" : "67:36-67:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "76", + "locator" : "67:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "78", + "locator" : "67:68-67:79", + "name" : "PT24H--P2W", + "type" : "CodeRef" + } + }, { + "localId" : "86", + "locator" : "68:9-68:79", + "when" : { + "localId" : "84", + "locator" : "68:14-68:60", + "type" : "Greater", + "operand" : [ { + "localId" : "82", + "locator" : "68:14-68:56", + "precision" : "Week", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "81", + "locator" : "68:27-68:55", + "type" : "Start", + "operand" : { + "localId" : "80", + "locator" : "68:36-68:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "83", + "locator" : "68:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "85", + "locator" : "68:67-68:79", + "name" : "P2W--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "87", + "locator" : "69:14-69:17", + "type" : "Null" + } + } + } + }, { + "localId" : "106", + "locator" : "75:1-80:7", + "name" : "Infant By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "106", + "s" : [ { + "value" : [ "/** \n * Infant disaggregations by age\n */\n","define ","\"Infant By Age Stratifier\"",":\n " ] + }, { + "r" : "105", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "96", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "94", + "s" : [ { + "r" : "92", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "91", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "90", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "93", + "value" : [ " ","<"," ","1" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "95", + "s" : [ { + "value" : [ "\"P0Y--P1Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "103", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "101", + "s" : [ { + "r" : "99", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "98", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "97", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "100", + "value" : [ " ",">="," ","1" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "102", + "s" : [ { + "value" : [ "\"P1Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "104", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "105", + "locator" : "76:5-80:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "96", + "locator" : "77:9-77:76", + "when" : { + "localId" : "94", + "locator" : "77:14-77:60", + "type" : "Less", + "operand" : [ { + "localId" : "92", + "locator" : "77:14-77:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "91", + "locator" : "77:27-77:55", + "type" : "Start", + "operand" : { + "localId" : "90", + "locator" : "77:36-77:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "93", + "locator" : "77:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "95", + "locator" : "77:67-77:76", + "name" : "P0Y--P1Y", + "type" : "CodeRef" + } + }, { + "localId" : "103", + "locator" : "78:9-78:80", + "when" : { + "localId" : "101", + "locator" : "78:14-78:61", + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "99", + "locator" : "78:14-78:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "98", + "locator" : "78:27-78:55", + "type" : "Start", + "operand" : { + "localId" : "97", + "locator" : "78:36-78:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "100", + "locator" : "78:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "102", + "locator" : "78:68-78:80", + "name" : "P1Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "104", + "locator" : "79:14-79:17", + "type" : "Null" + } + } + } + }, { + "localId" : "130", + "locator" : "85:1-91:7", + "name" : "Toddler By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "130", + "s" : [ { + "value" : [ "/** \n * Toddler By Age Stratifiers\n */\n","define ","\"Toddler By Age Stratifier\"",":\n " ] + }, { + "r" : "129", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "113", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "111", + "s" : [ { + "r" : "109", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "108", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "107", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "110", + "value" : [ " ","<"," ","1" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "112", + "s" : [ { + "value" : [ "\"P0Y--P1Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "120", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "118", + "s" : [ { + "r" : "116", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "115", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "114", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "117", + "value" : [ " ","<"," ","2" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "119", + "s" : [ { + "value" : [ "\"P1Y--P2Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "127", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "125", + "s" : [ { + "r" : "123", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "122", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "121", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "124", + "value" : [ " ",">="," ","2" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "126", + "s" : [ { + "value" : [ "\"P2Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "128", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "129", + "locator" : "86:5-91:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "113", + "locator" : "87:9-87:76", + "when" : { + "localId" : "111", + "locator" : "87:14-87:60", + "type" : "Less", + "operand" : [ { + "localId" : "109", + "locator" : "87:14-87:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "108", + "locator" : "87:27-87:55", + "type" : "Start", + "operand" : { + "localId" : "107", + "locator" : "87:36-87:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "110", + "locator" : "87:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "112", + "locator" : "87:67-87:76", + "name" : "P0Y--P1Y", + "type" : "CodeRef" + } + }, { + "localId" : "120", + "locator" : "88:9-88:76", + "when" : { + "localId" : "118", + "locator" : "88:14-88:60", + "type" : "Less", + "operand" : [ { + "localId" : "116", + "locator" : "88:14-88:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "115", + "locator" : "88:27-88:55", + "type" : "Start", + "operand" : { + "localId" : "114", + "locator" : "88:36-88:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "117", + "locator" : "88:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "119", + "locator" : "88:67-88:76", + "name" : "P1Y--P2Y", + "type" : "CodeRef" + } + }, { + "localId" : "127", + "locator" : "89:9-89:80", + "when" : { + "localId" : "125", + "locator" : "89:14-89:61", + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "123", + "locator" : "89:14-89:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "122", + "locator" : "89:27-89:55", + "type" : "Start", + "operand" : { + "localId" : "121", + "locator" : "89:36-89:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "124", + "locator" : "89:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "2", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "126", + "locator" : "89:68-89:80", + "name" : "P2Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "128", + "locator" : "90:14-90:17", + "type" : "Null" + } + } + } + }, { + "localId" : "154", + "locator" : "97:1-103:7", + "name" : "Adolescent By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "154", + "s" : [ { + "value" : [ "/** \n * Toddler By Age Stratifiers\n */\n","define ","\"Adolescent By Age Stratifier\"",":\n " ] + }, { + "r" : "153", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "137", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "135", + "s" : [ { + "r" : "133", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "132", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "131", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "134", + "value" : [ " ","<"," ","9" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "136", + "s" : [ { + "value" : [ "\"P0Y--P9Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "144", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "142", + "s" : [ { + "r" : "140", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "139", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "138", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "141", + "value" : [ " ","<="," ","14" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "143", + "s" : [ { + "value" : [ "\"P9Y--P14Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "151", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "149", + "s" : [ { + "r" : "147", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "146", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "145", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "148", + "value" : [ " ",">"," ","14" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "150", + "s" : [ { + "value" : [ "\"P15Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "152", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "153", + "locator" : "98:5-103:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "137", + "locator" : "99:9-99:76", + "when" : { + "localId" : "135", + "locator" : "99:14-99:60", + "type" : "Less", + "operand" : [ { + "localId" : "133", + "locator" : "99:14-99:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "132", + "locator" : "99:27-99:55", + "type" : "Start", + "operand" : { + "localId" : "131", + "locator" : "99:36-99:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "134", + "locator" : "99:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "9", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "136", + "locator" : "99:67-99:76", + "name" : "P0Y--P9Y", + "type" : "CodeRef" + } + }, { + "localId" : "144", + "locator" : "100:9-100:79", + "when" : { + "localId" : "142", + "locator" : "100:14-100:62", + "type" : "LessOrEqual", + "operand" : [ { + "localId" : "140", + "locator" : "100:14-100:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "139", + "locator" : "100:27-100:55", + "type" : "Start", + "operand" : { + "localId" : "138", + "locator" : "100:36-100:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "141", + "locator" : "100:61-100:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "14", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "143", + "locator" : "100:69-100:79", + "name" : "P9Y--P14Y", + "type" : "CodeRef" + } + }, { + "localId" : "151", + "locator" : "101:9-101:81", + "when" : { + "localId" : "149", + "locator" : "101:14-101:61", + "type" : "Greater", + "operand" : [ { + "localId" : "147", + "locator" : "101:14-101:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "146", + "locator" : "101:27-101:55", + "type" : "Start", + "operand" : { + "localId" : "145", + "locator" : "101:36-101:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "148", + "locator" : "101:60-101:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "14", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "150", + "locator" : "101:68-101:81", + "name" : "P15Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "152", + "locator" : "102:14-102:17", + "type" : "Null" + } + } + } + }, { + "localId" : "185", + "locator" : "108:1-115:7", + "name" : "RCV By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "185", + "s" : [ { + "value" : [ "/** \n * RCV age disaggregators\n */\n","define ","\"RCV By Age Stratifier\"",":\n " ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "161", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "159", + "s" : [ { + "r" : "157", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "156", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "155", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "158", + "value" : [ " ","<"," ","9" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "160", + "s" : [ { + "value" : [ "\"P0M--P9M\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "168", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "166", + "s" : [ { + "r" : "164", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "163", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "162", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "165", + "value" : [ " ","<"," ","18" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "167", + "s" : [ { + "value" : [ "\"P9M--P18M\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "175", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "173", + "s" : [ { + "r" : "171", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "170", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "169", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "172", + "value" : [ " ","<"," ","15" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "174", + "s" : [ { + "value" : [ "\"P18M--P15Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "182", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "180", + "s" : [ { + "r" : "178", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "177", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "176", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "179", + "value" : [ " ",">="," ","15" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "181", + "s" : [ { + "value" : [ "\"P15Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "183", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "184", + "locator" : "109:5-115:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "161", + "locator" : "110:9-110:77", + "when" : { + "localId" : "159", + "locator" : "110:14-110:61", + "type" : "Less", + "operand" : [ { + "localId" : "157", + "locator" : "110:14-110:57", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "156", + "locator" : "110:28-110:56", + "type" : "Start", + "operand" : { + "localId" : "155", + "locator" : "110:37-110:56", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "158", + "locator" : "110:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "9", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "160", + "locator" : "110:68-110:77", + "name" : "P0M--P9M", + "type" : "CodeRef" + } + }, { + "localId" : "168", + "locator" : "111:9-111:79", + "when" : { + "localId" : "166", + "locator" : "111:14-111:62", + "type" : "Less", + "operand" : [ { + "localId" : "164", + "locator" : "111:14-111:57", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "163", + "locator" : "111:28-111:56", + "type" : "Start", + "operand" : { + "localId" : "162", + "locator" : "111:37-111:56", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "165", + "locator" : "111:61-111:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "18", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "167", + "locator" : "111:69-111:79", + "name" : "P9M--P18M", + "type" : "CodeRef" + } + }, { + "localId" : "175", + "locator" : "112:9-112:79", + "when" : { + "localId" : "173", + "locator" : "112:14-112:61", + "type" : "Less", + "operand" : [ { + "localId" : "171", + "locator" : "112:14-112:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "170", + "locator" : "112:27-112:55", + "type" : "Start", + "operand" : { + "localId" : "169", + "locator" : "112:36-112:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "172", + "locator" : "112:60-112:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "15", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "174", + "locator" : "112:68-112:79", + "name" : "P18M--P15Y", + "type" : "CodeRef" + } + }, { + "localId" : "182", + "locator" : "113:9-113:82", + "when" : { + "localId" : "180", + "locator" : "113:14-113:62", + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "178", + "locator" : "113:14-113:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "177", + "locator" : "113:27-113:55", + "type" : "Start", + "operand" : { + "localId" : "176", + "locator" : "113:36-113:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "179", + "locator" : "113:61-113:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "15", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "181", + "locator" : "113:69-113:82", + "name" : "P15Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "183", + "locator" : "114:14-114:17", + "type" : "Null" + } + } + } + }, { + "localId" : "223", + "locator" : "120:1-128:7", + "name" : "Varicella By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "223", + "s" : [ { + "value" : [ "/** \n * Varicella age disaggregators\n */\n","define ","\"Varicella By Age Stratifier\"",":\n " ] + }, { + "r" : "222", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "192", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "190", + "s" : [ { + "r" : "188", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "187", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "186", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "189", + "value" : [ " ","<"," ","12" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "\"P0M--P12M\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "199", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "197", + "s" : [ { + "r" : "195", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "194", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "193", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "196", + "value" : [ " ","<"," ","18" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "198", + "s" : [ { + "value" : [ "\"P12M--P18M\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "206", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "204", + "s" : [ { + "r" : "202", + "s" : [ { + "value" : [ "AgeInMonthsAt","(" ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "200", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "203", + "value" : [ " ","<"," ","36" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "\"P18M--P36M\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "213", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "211", + "s" : [ { + "r" : "209", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "208", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "210", + "value" : [ " ","<"," ","12" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "212", + "s" : [ { + "value" : [ "\"P36M--P12Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "220", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "218", + "s" : [ { + "r" : "216", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "215", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "217", + "value" : [ " ",">="," ","12" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "219", + "s" : [ { + "value" : [ "\"P12Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "221", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "222", + "locator" : "121:5-128:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "192", + "locator" : "122:9-122:79", + "when" : { + "localId" : "190", + "locator" : "122:14-122:62", + "type" : "Less", + "operand" : [ { + "localId" : "188", + "locator" : "122:14-122:57", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "187", + "locator" : "122:28-122:56", + "type" : "Start", + "operand" : { + "localId" : "186", + "locator" : "122:37-122:56", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "189", + "locator" : "122:61-122:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "12", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "191", + "locator" : "122:69-122:79", + "name" : "P0M--P12M", + "type" : "CodeRef" + } + }, { + "localId" : "199", + "locator" : "123:9-123:80", + "when" : { + "localId" : "197", + "locator" : "123:14-123:62", + "type" : "Less", + "operand" : [ { + "localId" : "195", + "locator" : "123:14-123:57", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "194", + "locator" : "123:28-123:56", + "type" : "Start", + "operand" : { + "localId" : "193", + "locator" : "123:37-123:56", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "196", + "locator" : "123:61-123:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "18", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "198", + "locator" : "123:69-123:80", + "name" : "P12M--P18M", + "type" : "CodeRef" + } + }, { + "localId" : "206", + "locator" : "124:9-124:80", + "when" : { + "localId" : "204", + "locator" : "124:14-124:62", + "type" : "Less", + "operand" : [ { + "localId" : "202", + "locator" : "124:14-124:57", + "precision" : "Month", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "201", + "locator" : "124:28-124:56", + "type" : "Start", + "operand" : { + "localId" : "200", + "locator" : "124:37-124:56", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "203", + "locator" : "124:61-124:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "36", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "205", + "locator" : "124:69-124:80", + "name" : "P18M--P36M", + "type" : "CodeRef" + } + }, { + "localId" : "213", + "locator" : "125:9-125:79", + "when" : { + "localId" : "211", + "locator" : "125:14-125:61", + "type" : "Less", + "operand" : [ { + "localId" : "209", + "locator" : "125:14-125:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "208", + "locator" : "125:27-125:55", + "type" : "Start", + "operand" : { + "localId" : "207", + "locator" : "125:36-125:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "210", + "locator" : "125:60-125:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "12", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "212", + "locator" : "125:68-125:79", + "name" : "P36M--P12Y", + "type" : "CodeRef" + } + }, { + "localId" : "220", + "locator" : "126:9-126:82", + "when" : { + "localId" : "218", + "locator" : "126:14-126:62", + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "216", + "locator" : "126:14-126:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "215", + "locator" : "126:27-126:55", + "type" : "Start", + "operand" : { + "localId" : "214", + "locator" : "126:36-126:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "217", + "locator" : "126:61-126:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "12", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "219", + "locator" : "126:69-126:82", + "name" : "P12Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "221", + "locator" : "127:14-127:17", + "type" : "Null" + } + } + } + }, { + "localId" : "254", + "locator" : "134:1-141:7", + "name" : "Seasonal Influenza By Age Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "254", + "s" : [ { + "value" : [ "/** \n * Seasonal Influenza age disaggregators\n */\n","define ","\"Seasonal Influenza By Age Stratifier\"",":\n " ] + }, { + "r" : "253", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "230", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "228", + "s" : [ { + "r" : "226", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "225", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "227", + "value" : [ " ","<"," ","1" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "229", + "s" : [ { + "value" : [ "\"P0Y--P1Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "237", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "235", + "s" : [ { + "r" : "233", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "232", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "231", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "234", + "value" : [ " ","<"," ","15" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "236", + "s" : [ { + "value" : [ "\"P1Y--P15Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "244", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "242", + "s" : [ { + "r" : "240", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "239", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "238", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "241", + "value" : [ " ","<"," ","60" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "243", + "s" : [ { + "value" : [ "\"P15Y--P60Y\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "251", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "249", + "s" : [ { + "r" : "247", + "s" : [ { + "value" : [ "AgeInYearsAt","(" ] + }, { + "r" : "246", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "245", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "r" : "248", + "value" : [ " ",">="," ","60" ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "250", + "s" : [ { + "value" : [ "\"P60Y--P9999Y\"" ] + } ] + } ] + }, { + "r" : "252", + "value" : [ "\n else ","null","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "253", + "locator" : "135:5-141:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "230", + "locator" : "136:9-136:76", + "when" : { + "localId" : "228", + "locator" : "136:14-136:60", + "type" : "Less", + "operand" : [ { + "localId" : "226", + "locator" : "136:14-136:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "225", + "locator" : "136:27-136:55", + "type" : "Start", + "operand" : { + "localId" : "224", + "locator" : "136:36-136:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "227", + "locator" : "136:60", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "1", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "229", + "locator" : "136:67-136:76", + "name" : "P0Y--P1Y", + "type" : "CodeRef" + } + }, { + "localId" : "237", + "locator" : "137:9-137:78", + "when" : { + "localId" : "235", + "locator" : "137:14-137:61", + "type" : "Less", + "operand" : [ { + "localId" : "233", + "locator" : "137:14-137:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "232", + "locator" : "137:27-137:55", + "type" : "Start", + "operand" : { + "localId" : "231", + "locator" : "137:36-137:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "234", + "locator" : "137:60-137:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "15", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "236", + "locator" : "137:68-137:78", + "name" : "P1Y--P15Y", + "type" : "CodeRef" + } + }, { + "localId" : "244", + "locator" : "138:9-138:79", + "when" : { + "localId" : "242", + "locator" : "138:14-138:61", + "type" : "Less", + "operand" : [ { + "localId" : "240", + "locator" : "138:14-138:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "239", + "locator" : "138:27-138:55", + "type" : "Start", + "operand" : { + "localId" : "238", + "locator" : "138:36-138:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "241", + "locator" : "138:60-138:61", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "60", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "243", + "locator" : "138:68-138:79", + "name" : "P15Y--P60Y", + "type" : "CodeRef" + } + }, { + "localId" : "251", + "locator" : "139:9-139:82", + "when" : { + "localId" : "249", + "locator" : "139:14-139:62", + "type" : "GreaterOrEqual", + "operand" : [ { + "localId" : "247", + "locator" : "139:14-139:56", + "precision" : "Year", + "type" : "CalculateAgeAt", + "operand" : [ { + "path" : "birthDate.value", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + }, { + "localId" : "246", + "locator" : "139:27-139:55", + "type" : "Start", + "operand" : { + "localId" : "245", + "locator" : "139:36-139:55", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } ] + }, { + "localId" : "248", + "locator" : "139:61-139:62", + "valueType" : "{urn:hl7-org:elm-types:r1}Integer", + "value" : "60", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "250", + "locator" : "139:69-139:82", + "name" : "P60Y--P9999Y", + "type" : "CodeRef" + } + } ], + "else" : { + "asType" : "{urn:hl7-org:elm-types:r1}Code", + "type" : "As", + "operand" : { + "localId" : "252", + "locator" : "140:14-140:17", + "type" : "Null" + } + } + } + }, { + "localId" : "269", + "locator" : "146:1-151:7", + "name" : "By Administrative Gender Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "269", + "s" : [ { + "value" : [ "/**\n * By Administrative Gender of Patient Stratifier\n */\n","define ","\"By Administrative Gender Stratifier\"",":\n " ] + }, { + "r" : "268", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "260", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "258", + "s" : [ { + "r" : "256", + "s" : [ { + "r" : "255", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "256", + "s" : [ { + "value" : [ "gender" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "257", + "s" : [ { + "value" : [ "'male'" ] + } ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "259", + "s" : [ { + "value" : [ "\"Males\"" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "266", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "264", + "s" : [ { + "r" : "262", + "s" : [ { + "r" : "261", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "262", + "s" : [ { + "value" : [ "gender" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "263", + "s" : [ { + "value" : [ "'female'" ] + } ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "265", + "s" : [ { + "value" : [ "\"Females\"" ] + } ] + } ] + }, { + "value" : [ "\n else " ] + }, { + "r" : "267", + "s" : [ { + "value" : [ "\"Other\"" ] + } ] + }, { + "value" : [ "\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "268", + "locator" : "147:5-151:7", + "type" : "Case", + "caseItem" : [ { + "localId" : "260", + "locator" : "148:9-148:49", + "when" : { + "localId" : "258", + "locator" : "148:14-148:36", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "256", + "locator" : "148:14-148:27", + "path" : "gender", + "type" : "Property", + "source" : { + "localId" : "255", + "locator" : "148:14-148:20", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "257", + "locator" : "148:31-148:36", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "male", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "259", + "locator" : "148:43-148:49", + "name" : "Males", + "type" : "CodeRef" + } + }, { + "localId" : "266", + "locator" : "149:9-149:53", + "when" : { + "localId" : "264", + "locator" : "149:14-149:38", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "262", + "locator" : "149:14-149:27", + "path" : "gender", + "type" : "Property", + "source" : { + "localId" : "261", + "locator" : "149:14-149:20", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "263", + "locator" : "149:31-149:38", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "female", + "type" : "Literal" + } ] + }, + "then" : { + "localId" : "265", + "locator" : "149:45-149:53", + "name" : "Females", + "type" : "CodeRef" + } + } ], + "else" : { + "localId" : "267", + "locator" : "150:14-150:20", + "name" : "Other", + "type" : "CodeRef" + } + } + }, { + "localId" : "280", + "locator" : "156:1-157:60", + "name" : "By Geographic Region Stratifier", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "280", + "s" : [ { + "value" : [ "/**\n * By Administrative Gender of Patient Stratifier\n */\n","define ","\"By Geographic Region Stratifier\"",":\n " ] + }, { + "r" : "279", + "s" : [ { + "r" : "278", + "s" : [ { + "value" : [ "First","(" ] + }, { + "r" : "277", + "s" : [ { + "s" : [ { + "r" : "271", + "s" : [ { + "r" : "270", + "s" : [ { + "s" : [ { + "value" : [ "Patient",".","address" ] + } ] + } ] + }, { + "value" : [ " ","A" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "276", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "276", + "s" : [ { + "r" : "273", + "s" : [ { + "r" : "272", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "273", + "s" : [ { + "value" : [ "use" ] + } ] + } ] + }, { + "value" : [ " in " ] + }, { + "r" : "275", + "s" : [ { + "value" : [ "{ " ] + }, { + "r" : "274", + "s" : [ { + "value" : [ "'home'" ] + } ] + }, { + "value" : [ " }" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "279", + "s" : [ { + "value" : [ "state" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "279", + "locator" : "157:5-157:60", + "path" : "state", + "type" : "Property", + "source" : { + "localId" : "278", + "locator" : "157:5-157:54", + "type" : "First", + "source" : { + "localId" : "277", + "locator" : "157:11-157:53", + "type" : "Query", + "source" : [ { + "localId" : "271", + "locator" : "157:11-157:27", + "alias" : "A", + "expression" : { + "localId" : "270", + "locator" : "157:11-157:25", + "path" : "address", + "type" : "Property", + "source" : { + "name" : "Patient", + "type" : "ExpressionRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "276", + "locator" : "157:29-157:53", + "type" : "In", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "273", + "locator" : "157:35-157:39", + "path" : "use", + "scope" : "A", + "type" : "Property" + } ] + }, { + "localId" : "275", + "locator" : "157:44-157:53", + "type" : "List", + "element" : [ { + "localId" : "274", + "locator" : "157:46-157:51", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "home", + "type" : "Literal" + } ] + } ] + } + } + } + } + }, { + "localId" : "304", + "locator" : "162:1-167:5", + "name" : "Patient Deceased During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "304", + "s" : [ { + "value" : [ "/** \n * @dataElement Patient is deceased\n */\n","define ","\"Patient Deceased During Measurement Period\"",":\n " ] + }, { + "r" : "303", + "s" : [ { + "value" : [ "case \n " ] + }, { + "r" : "289", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "284", + "s" : [ { + "r" : "282", + "s" : [ { + "r" : "281", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "282", + "s" : [ { + "value" : [ "deceased" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "283", + "s" : [ { + "value" : [ "FHIR",".","boolean" ] + } ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "288", + "s" : [ { + "r" : "286", + "s" : [ { + "r" : "285", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "286", + "s" : [ { + "value" : [ "deceased" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "287", + "s" : [ { + "value" : [ "FHIR",".","boolean" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "301", + "s" : [ { + "value" : [ "when " ] + }, { + "r" : "293", + "s" : [ { + "r" : "291", + "s" : [ { + "r" : "290", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "291", + "s" : [ { + "value" : [ "deceased" ] + } ] + } ] + }, { + "value" : [ " is " ] + }, { + "r" : "292", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "value" : [ " then " ] + }, { + "r" : "300", + "s" : [ { + "r" : "297", + "s" : [ { + "r" : "295", + "s" : [ { + "r" : "294", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "295", + "s" : [ { + "value" : [ "deceased" ] + } ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "296", + "s" : [ { + "value" : [ "FHIR",".","dateTime" ] + } ] + } ] + }, { + "r" : "300", + "value" : [ " ","before"," " ] + }, { + "r" : "299", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "298", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + }, { + "r" : "302", + "value" : [ "\n else ","false","\n end" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "303", + "locator" : "163:3-167:5", + "type" : "Case", + "caseItem" : [ { + "localId" : "289", + "locator" : "164:5-164:79", + "when" : { + "localId" : "284", + "locator" : "164:10-164:41", + "type" : "Is", + "operand" : { + "localId" : "282", + "locator" : "164:10-164:25", + "path" : "deceased", + "type" : "Property", + "source" : { + "localId" : "281", + "locator" : "164:10-164:16", + "name" : "Patient", + "type" : "ExpressionRef" + } + }, + "isTypeSpecifier" : { + "localId" : "283", + "locator" : "164:30-164:41", + "name" : "{http://hl7.org/fhir}boolean", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "name" : "ToBoolean", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "288", + "locator" : "164:48-164:79", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "286", + "locator" : "164:48-164:63", + "path" : "deceased", + "type" : "Property", + "source" : { + "localId" : "285", + "locator" : "164:48-164:54", + "name" : "Patient", + "type" : "ExpressionRef" + } + }, + "asTypeSpecifier" : { + "localId" : "287", + "locator" : "164:68-164:79", + "name" : "{http://hl7.org/fhir}boolean", + "type" : "NamedTypeSpecifier" + } + } ] + } + }, { + "localId" : "301", + "locator" : "165:5-165:116", + "when" : { + "localId" : "293", + "locator" : "165:10-165:42", + "type" : "Is", + "operand" : { + "localId" : "291", + "locator" : "165:10-165:25", + "path" : "deceased", + "type" : "Property", + "source" : { + "localId" : "290", + "locator" : "165:10-165:16", + "name" : "Patient", + "type" : "ExpressionRef" + } + }, + "isTypeSpecifier" : { + "localId" : "292", + "locator" : "165:30-165:42", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + }, + "then" : { + "localId" : "300", + "locator" : "165:49-165:116", + "type" : "Before", + "operand" : [ { + "name" : "ToDateTime", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "297", + "locator" : "165:49-165:81", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "295", + "locator" : "165:49-165:64", + "path" : "deceased", + "type" : "Property", + "source" : { + "localId" : "294", + "locator" : "165:49-165:55", + "name" : "Patient", + "type" : "ExpressionRef" + } + }, + "asTypeSpecifier" : { + "localId" : "296", + "locator" : "165:69-165:81", + "name" : "{http://hl7.org/fhir}dateTime", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "type" : "ToDateTime", + "operand" : { + "localId" : "299", + "locator" : "165:90-165:116", + "type" : "End", + "operand" : { + "localId" : "298", + "locator" : "165:97-165:116", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + } ] + } + } ], + "else" : { + "localId" : "302", + "locator" : "166:10-166:14", + "valueType" : "{urn:hl7-org:elm-types:r1}Boolean", + "value" : "false", + "type" : "Literal" + } + } + }, { + "localId" : "309", + "locator" : "172:1-173:49", + "name" : "Patient Born During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "309", + "s" : [ { + "value" : [ "/** \n * Patient was born during measurement period\n */\n","define ","\"Patient Born During Measurement Period\"",":\n " ] + }, { + "r" : "308", + "s" : [ { + "r" : "306", + "s" : [ { + "r" : "305", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "306", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "r" : "308", + "value" : [ " ","during"," " ] + }, { + "r" : "307", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "308", + "locator" : "173:5-173:49", + "type" : "In", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "306", + "locator" : "173:5-173:21", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "305", + "locator" : "173:5-173:11", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "localId" : "307", + "locator" : "173:30-173:49", + "name" : "Measurement Period", + "type" : "ParameterRef" + } ] + } + }, { + "localId" : "316", + "locator" : "178:1-179:75", + "name" : "Patient Under 12 Months Old During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "316", + "s" : [ { + "value" : [ "/** \n * Patient is < 12 months old at the end of the measurement period\n */\n","define ","\"Patient Under 12 Months Old During Measurement Period\"",":\n " ] + }, { + "r" : "315", + "s" : [ { + "r" : "311", + "s" : [ { + "r" : "310", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "311", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "315", + "s" : [ { + "value" : [ "more than " ] + }, { + "r" : "314", + "s" : [ { + "value" : [ "12 ","month" ] + } ] + }, { + "value" : [ " before" ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "313", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "312", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "315", + "locator" : "179:5-179:75", + "type" : "Before", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "311", + "locator" : "179:5-179:21", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "310", + "locator" : "179:5-179:11", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "locator" : "179:49-179:75", + "type" : "Subtract", + "operand" : [ { + "localId" : "313", + "locator" : "179:49-179:75", + "type" : "End", + "operand" : { + "localId" : "312", + "locator" : "179:56-179:75", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + }, { + "localId" : "314", + "locator" : "179:33-179:40", + "value" : 12, + "unit" : "month", + "type" : "Quantity" + } ] + } ] + } + }, { + "localId" : "323", + "locator" : "184:1-185:73", + "name" : "Patient Under 2 Years Old During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "323", + "s" : [ { + "value" : [ "/** \n * Patient is < 12 years old at the end of the measurement period\n */\n","define ","\"Patient Under 2 Years Old During Measurement Period\"",":\n " ] + }, { + "r" : "322", + "s" : [ { + "r" : "318", + "s" : [ { + "r" : "317", + "s" : [ { + "value" : [ "Patient" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "318", + "s" : [ { + "value" : [ "birthDate" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "322", + "s" : [ { + "value" : [ "more than " ] + }, { + "r" : "321", + "s" : [ { + "value" : [ "2 ","year" ] + } ] + }, { + "value" : [ " before" ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "320", + "s" : [ { + "value" : [ "end of " ] + }, { + "r" : "319", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "322", + "locator" : "185:5-185:73", + "type" : "Before", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "318", + "locator" : "185:5-185:21", + "path" : "birthDate", + "type" : "Property", + "source" : { + "localId" : "317", + "locator" : "185:5-185:11", + "name" : "Patient", + "type" : "ExpressionRef" + } + } ] + }, { + "locator" : "185:47-185:73", + "type" : "Subtract", + "operand" : [ { + "localId" : "320", + "locator" : "185:47-185:73", + "type" : "End", + "operand" : { + "localId" : "319", + "locator" : "185:54-185:73", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + }, { + "localId" : "321", + "locator" : "185:33-185:38", + "value" : 2, + "unit" : "year", + "type" : "Quantity" + } ] + } ] + } + }, { + "localId" : "350", + "locator" : "191:1-195:62", + "name" : "Immunizations with Adverse Events During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "350", + "s" : [ { + "value" : [ "/** \n * @define Adverse events for immunizations which occurred during (or observed) during measurement period\n */\n","define ","\"Immunizations with Adverse Events During Measurement Period\"",":\n " ] + }, { + "r" : "349", + "s" : [ { + "s" : [ { + "r" : "325", + "s" : [ { + "r" : "324", + "s" : [ { + "s" : [ { + "value" : [ "IMMZCom",".","\"Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "348", + "s" : [ { + "value" : [ "with " ] + }, { + "r" : "327", + "s" : [ { + "r" : "326", + "s" : [ { + "r" : "326", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","in"," " ] + }, { + "s" : [ { + "value" : [ "WC",".","\"Adverse Events\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + }, { + "value" : [ "\n such that " ] + }, { + "r" : "347", + "s" : [ { + "r" : "340", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "339", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "339", + "s" : [ { + "s" : [ { + "r" : "329", + "s" : [ { + "r" : "328", + "s" : [ { + "s" : [ { + "value" : [ "I",".","reaction" ] + } ] + } ] + }, { + "value" : [ " ","R" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "338", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "338", + "s" : [ { + "r" : "331", + "s" : [ { + "r" : "330", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "331", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "337", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "336", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "334", + "s" : [ { + "r" : "333", + "s" : [ { + "r" : "332", + "s" : [ { + "value" : [ "R" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "333", + "s" : [ { + "value" : [ "detail" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "334", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "335", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "\n and " ] + }, { + "r" : "346", + "s" : [ { + "r" : "344", + "s" : [ { + "r" : "341", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "344", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "343", + "s" : [ { + "r" : "342", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "343", + "s" : [ { + "value" : [ "effective" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "r" : "346", + "value" : [ " ","during"," " ] + }, { + "r" : "345", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "349", + "locator" : "192:5-195:62", + "type" : "Query", + "source" : [ { + "localId" : "325", + "locator" : "192:5-192:45", + "alias" : "I", + "expression" : { + "localId" : "324", + "locator" : "192:5-192:43", + "name" : "Doses Administered to Patient", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ { + "localId" : "348", + "locator" : "193:5-195:62", + "alias" : "O", + "type" : "With", + "expression" : { + "localId" : "326", + "locator" : "193:10-193:51", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "193:32-193:50", + "name" : "Adverse Events", + "libraryName" : "WC", + "type" : "ValueSetRef" + } + }, + "suchThat" : { + "localId" : "347", + "locator" : "194:15-195:62", + "type" : "And", + "operand" : [ { + "localId" : "340", + "locator" : "194:15-194:84", + "type" : "Exists", + "operand" : { + "localId" : "339", + "locator" : "194:21-194:84", + "type" : "Query", + "source" : [ { + "localId" : "329", + "locator" : "194:22-194:33", + "alias" : "R", + "expression" : { + "localId" : "328", + "locator" : "194:22-194:31", + "path" : "reaction", + "scope" : "I", + "type" : "Property" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "338", + "locator" : "194:35-194:83", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "331", + "locator" : "194:41-194:44", + "path" : "id", + "scope" : "O", + "type" : "Property" + } ] + }, { + "localId" : "337", + "locator" : "194:48-194:83", + "type" : "Last", + "source" : { + "localId" : "336", + "locator" : "194:53-194:82", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "334", + "locator" : "194:59-194:76", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "333", + "locator" : "194:59-194:66", + "path" : "detail", + "scope" : "R", + "type" : "Property" + } + } ] + }, + "separator" : { + "localId" : "335", + "locator" : "194:79-194:81", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } ] + } + } + }, { + "localId" : "346", + "locator" : "195:9-195:62", + "type" : "IncludedIn", + "operand" : [ { + "localId" : "344", + "locator" : "195:9-195:34", + "name" : "ToInterval", + "libraryName" : "FC", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "343", + "locator" : "195:23-195:33", + "path" : "effective", + "scope" : "O", + "type" : "Property" + } ] + }, { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "345", + "locator" : "195:43-195:62", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "345", + "locator" : "195:43-195:62", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "345", + "locator" : "195:43-195:62", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "345", + "locator" : "195:43-195:62", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + } ] + } ] + } + } ] + } + }, { + "localId" : "376", + "locator" : "201:1-205:64", + "name" : "Adverse Event Reactions During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "376", + "s" : [ { + "value" : [ "/** \n * @define Adverse events for immunizations which occurred during (or observed) during measurement period\n */\n","define ","\"Adverse Event Reactions During Measurement Period\"",":\n " ] + }, { + "r" : "375", + "s" : [ { + "s" : [ { + "r" : "352", + "s" : [ { + "r" : "351", + "s" : [ { + "r" : "351", + "s" : [ { + "value" : [ "[","Observation",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","in"," " ] + }, { + "s" : [ { + "value" : [ "WC",".","\"Adverse Events\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "368", + "s" : [ { + "value" : [ "with " ] + }, { + "r" : "354", + "s" : [ { + "r" : "353", + "s" : [ { + "s" : [ { + "value" : [ "IMMZCom",".","\"Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + }, { + "value" : [ "\n such that " ] + }, { + "r" : "367", + "s" : [ { + "value" : [ "exists" ] + }, { + "r" : "366", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "366", + "s" : [ { + "s" : [ { + "r" : "356", + "s" : [ { + "r" : "355", + "s" : [ { + "s" : [ { + "value" : [ "I",".","reaction" ] + } ] + } ] + }, { + "value" : [ " ","R" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "365", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "365", + "s" : [ { + "r" : "358", + "s" : [ { + "r" : "357", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "358", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "364", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "363", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "361", + "s" : [ { + "r" : "360", + "s" : [ { + "r" : "359", + "s" : [ { + "value" : [ "R" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "360", + "s" : [ { + "value" : [ "detail" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "361", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "362", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "374", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "374", + "s" : [ { + "r" : "372", + "s" : [ { + "r" : "369", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "372", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "371", + "s" : [ { + "r" : "370", + "s" : [ { + "value" : [ "O" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "371", + "s" : [ { + "value" : [ "effective" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "r" : "374", + "value" : [ " ","during"," " ] + }, { + "r" : "373", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "375", + "locator" : "202:5-205:64", + "type" : "Query", + "source" : [ { + "localId" : "352", + "locator" : "202:5-202:48", + "alias" : "O", + "expression" : { + "localId" : "351", + "locator" : "202:5-202:46", + "dataType" : "{http://hl7.org/fhir}Observation", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "202:27-202:45", + "name" : "Adverse Events", + "libraryName" : "WC", + "type" : "ValueSetRef" + } + } + } ], + "relationship" : [ { + "localId" : "368", + "locator" : "203:5-204:84", + "alias" : "I", + "type" : "With", + "expression" : { + "localId" : "353", + "locator" : "203:10-203:48", + "name" : "Doses Administered to Patient", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + }, + "suchThat" : { + "localId" : "367", + "locator" : "204:15-204:84", + "type" : "Exists", + "operand" : { + "localId" : "366", + "locator" : "204:21-204:84", + "type" : "Query", + "source" : [ { + "localId" : "356", + "locator" : "204:22-204:33", + "alias" : "R", + "expression" : { + "localId" : "355", + "locator" : "204:22-204:31", + "path" : "reaction", + "scope" : "I", + "type" : "Property" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "365", + "locator" : "204:35-204:83", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "358", + "locator" : "204:41-204:44", + "path" : "id", + "scope" : "O", + "type" : "Property" + } ] + }, { + "localId" : "364", + "locator" : "204:48-204:83", + "type" : "Last", + "source" : { + "localId" : "363", + "locator" : "204:53-204:82", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "361", + "locator" : "204:59-204:76", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "360", + "locator" : "204:59-204:66", + "path" : "detail", + "scope" : "R", + "type" : "Property" + } + } ] + }, + "separator" : { + "localId" : "362", + "locator" : "204:79-204:81", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } ] + } + } + } + } ], + "where" : { + "localId" : "374", + "locator" : "205:5-205:64", + "type" : "IncludedIn", + "operand" : [ { + "localId" : "372", + "locator" : "205:11-205:36", + "name" : "ToInterval", + "libraryName" : "FC", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "371", + "locator" : "205:25-205:35", + "path" : "effective", + "scope" : "O", + "type" : "Property" + } ] + }, { + "type" : "Interval", + "low" : { + "type" : "ToDateTime", + "operand" : { + "path" : "low", + "type" : "Property", + "source" : { + "localId" : "373", + "locator" : "205:45-205:64", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + }, + "lowClosedExpression" : { + "path" : "lowClosed", + "type" : "Property", + "source" : { + "localId" : "373", + "locator" : "205:45-205:64", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + }, + "high" : { + "type" : "ToDateTime", + "operand" : { + "path" : "high", + "type" : "Property", + "source" : { + "localId" : "373", + "locator" : "205:45-205:64", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + }, + "highClosedExpression" : { + "path" : "highClosed", + "type" : "Property", + "source" : { + "localId" : "373", + "locator" : "205:45-205:64", + "name" : "Measurement Period", + "type" : "ParameterRef" + } + } + } ] + } + } + }, { + "localId" : "386", + "locator" : "210:1-212:66", + "name" : "Doses Administered to Patient During Measurement Period", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "386", + "s" : [ { + "value" : [ "/** \n * @define Doses which were \n */\n","define ","\"Doses Administered to Patient During Measurement Period\"",":\n " ] + }, { + "r" : "385", + "s" : [ { + "s" : [ { + "r" : "378", + "s" : [ { + "r" : "377", + "s" : [ { + "s" : [ { + "value" : [ "IMMZCom",".","\"Doses Administered to Patient\"" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "384", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "384", + "s" : [ { + "r" : "382", + "s" : [ { + "r" : "379", + "s" : [ { + "value" : [ "IMMZCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "382", + "s" : [ { + "value" : [ "ToDate","(" ] + }, { + "r" : "381", + "s" : [ { + "r" : "380", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "381", + "s" : [ { + "value" : [ "occurrence" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "r" : "384", + "value" : [ " ","during"," " ] + }, { + "r" : "383", + "s" : [ { + "value" : [ "\"Measurement Period\"" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "385", + "locator" : "211:5-212:66", + "type" : "Query", + "source" : [ { + "localId" : "378", + "locator" : "211:5-211:46", + "alias" : "I", + "expression" : { + "localId" : "377", + "locator" : "211:5-211:43", + "name" : "Doses Administered to Patient", + "libraryName" : "IMMZCom", + "type" : "ExpressionRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "384", + "locator" : "212:5-212:66", + "type" : "In", + "operand" : [ { + "name" : "ToDate", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "382", + "locator" : "212:11-212:38", + "name" : "ToDate", + "libraryName" : "IMMZCom", + "type" : "FunctionRef", + "operand" : [ { + "type" : "As", + "operand" : { + "asType" : "{http://hl7.org/fhir}string", + "type" : "As", + "operand" : { + "localId" : "381", + "locator" : "212:26-212:37", + "path" : "occurrence", + "scope" : "I", + "type" : "Property" + } + }, + "asTypeSpecifier" : { + "type" : "ChoiceTypeSpecifier", + "choice" : [ { + "name" : "{http://hl7.org/fhir}date", + "type" : "NamedTypeSpecifier" + }, { + "name" : "{http://hl7.org/fhir}string", + "type" : "NamedTypeSpecifier" + } ] + } + } ] + } ] + }, { + "localId" : "383", + "locator" : "212:47-212:66", + "name" : "Measurement Period", + "type" : "ParameterRef" + } ] + } + } + }, { + "localId" : "406", + "locator" : "219:1-222:31", + "name" : "GetGeographicRegionForImmunization", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "406", + "s" : [ { + "value" : [ "/** \n * @function\n * @param immunization The immunization record for which the location should be retrieved\n * @return FHIR.address The location that the immunization event occurred\n */\n","define function ","GetGeographicRegionForImmunization","(","immunization"," " ] + }, { + "r" : "387", + "s" : [ { + "value" : [ "Immunization" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "405", + "s" : [ { + "r" : "405", + "s" : [ { + "r" : "404", + "s" : [ { + "r" : "388", + "s" : [ { + "value" : [ "WCom" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "404", + "s" : [ { + "value" : [ "Official","(" ] + }, { + "r" : "403", + "s" : [ { + "s" : [ { + "r" : "390", + "s" : [ { + "r" : "389", + "s" : [ { + "r" : "389", + "s" : [ { + "value" : [ "[","Location","]" ] + } ] + } ] + }, { + "value" : [ " ","L" ] + } ] + } ] + }, { + "value" : [ " \n " ] + }, { + "r" : "399", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "399", + "s" : [ { + "r" : "392", + "s" : [ { + "r" : "391", + "s" : [ { + "value" : [ "L" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "392", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "398", + "s" : [ { + "value" : [ "Last","(" ] + }, { + "r" : "397", + "s" : [ { + "value" : [ "Split","(" ] + }, { + "r" : "395", + "s" : [ { + "r" : "394", + "s" : [ { + "r" : "393", + "s" : [ { + "value" : [ "immunization" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "394", + "s" : [ { + "value" : [ "location" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "395", + "s" : [ { + "value" : [ "reference" ] + } ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "396", + "s" : [ { + "value" : [ "'/'" ] + } ] + }, { + "value" : [ ")" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "402", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "401", + "s" : [ { + "r" : "400", + "s" : [ { + "value" : [ "L" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "401", + "s" : [ { + "value" : [ "address" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "405", + "s" : [ { + "value" : [ "state" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "405", + "locator" : "220:5-222:31", + "path" : "state", + "type" : "Property", + "source" : { + "localId" : "404", + "locator" : "220:5-222:25", + "name" : "Official", + "libraryName" : "WCom", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "403", + "locator" : "220:19-222:24", + "type" : "Query", + "source" : [ { + "localId" : "390", + "locator" : "220:19-220:30", + "alias" : "L", + "expression" : { + "localId" : "389", + "locator" : "220:19-220:28", + "dataType" : "{http://hl7.org/fhir}Location", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Location", + "type" : "Retrieve" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "399", + "locator" : "221:9-221:70", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "392", + "locator" : "221:15-221:18", + "path" : "id", + "scope" : "L", + "type" : "Property" + } ] + }, { + "localId" : "398", + "locator" : "221:22-221:70", + "type" : "Last", + "source" : { + "localId" : "397", + "locator" : "221:27-221:69", + "type" : "Split", + "stringToSplit" : { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "395", + "locator" : "221:33-221:63", + "path" : "reference", + "type" : "Property", + "source" : { + "localId" : "394", + "locator" : "221:33-221:53", + "path" : "location", + "type" : "Property", + "source" : { + "localId" : "393", + "locator" : "221:33-221:44", + "name" : "immunization", + "type" : "OperandRef" + } + } + } ] + }, + "separator" : { + "localId" : "396", + "locator" : "221:66-221:68", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "/", + "type" : "Literal" + } + } + } ] + }, + "return" : { + "localId" : "402", + "locator" : "222:9-222:24", + "expression" : { + "localId" : "401", + "locator" : "222:16-222:24", + "path" : "address", + "scope" : "L", + "type" : "Property" + } + } + } ] + } + }, + "operand" : [ { + "name" : "immunization", + "operandTypeSpecifier" : { + "localId" : "387", + "locator" : "219:65-219:76", + "name" : "{http://hl7.org/fhir}Immunization", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon.json new file mode 100644 index 0000000000..3c40aeec81 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZIndicatorCommon.json @@ -0,0 +1,228 @@ +{ + "resourceType" : "Library", + "id" : "IMMZIndicatorCommon", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onFHIRCommon
depends-onIMMZCommon
depends-onIMMZConcepts
depends-onWHOCommon
depends-onWHOConcepts
depends-onhttp://ohie.org/CodeSystem/iso-8601-derived-periods
depends-onAdministrativeGender

Parameters

Measurement Periodin01Period
Patientout01Patient
Newborn By Age Stratifierout01Coding
Infant By Age Stratifierout01Coding
Toddler By Age Stratifierout01Coding
Adolescent By Age Stratifierout01Coding
RCV By Age Stratifierout01Coding
Varicella By Age Stratifierout01Coding
Seasonal Influenza By Age Stratifierout01Coding
By Administrative Gender Stratifierout01Coding
By Geographic Region Stratifierout01string
Patient Deceased During Measurement Periodout01boolean
Patient Born During Measurement Periodout01boolean
Patient Under 12 Months Old During Measurement Periodout01boolean
Patient Under 2 Years Old During Measurement Periodout01boolean
Immunizations with Adverse Events During Measurement Periodout0*Immunization
Adverse Event Reactions During Measurement Periodout0*Observation
Doses Administered to Patient During Measurement Periodout0*Immunization

Data Requirements

Type: Observation (Observation)
FilterValue
codeIn ValueSet SNOMED CT Clinical Findings
Type: Observation (Observation)
FilterValue
codeIn ValueSet SNOMED CT Clinical Findings
Type: Location (Location)

Contents

text/cql

/**\r\n * Immunization Common Stratifiers by Patients as Context\r\n */\r\n\r\nlibrary IMMZIndicatorCommon\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude FHIRHelpers version '4.0.1'\r\ninclude FHIRCommon called FC\r\ninclude IMMZCommon called IMMZCom\r\ninclude IMMZConcepts called IMMZc\r\ninclude WHOCommon called WCom\r\ninclude WHOConcepts called WC\r\ncodesystem "ISO-8601-Derived Periods": 'http://ohie.org/CodeSystem/iso-8601-derived-periods'\r\nparameter "Measurement Period" Interval<Date> default Interval[@2020-01-01, @2020-12-31]\r\n\r\n// Age Groups for Vaccines for infants\r\ncode "P0Y--P1Y": 'P0Y--P1Y' from "ISO-8601-Derived Periods" display '< 1 year'\r\ncode "P1Y--P9999Y": 'P1Y--P9999Y' from "ISO-8601-Derived Periods" display '> 1 year'\r\n\r\n// Age Groups for Vaccines for Toddlers\r\ncode "P0Y--P2Y": 'P0Y--P2Y' from "ISO-8601-Derived Periods" display '< 2 years'\r\ncode "P1Y--P2Y": 'P1Y--P2Y' from "ISO-8601-Derived Periods" display '1 year'\r\ncode "P2Y--P9999Y": 'P2Y--P9999Y' from "ISO-8601-Derived Periods" display '> 2 years'\r\n\r\n// Age groups for newborns\r\ncode "PT0H--PT24H": 'PT0H--PT24H' from "ISO-8601-Derived Periods" display 'Within 24H of Birth'\r\ncode "PT24H--P2W": 'PT24H--P2W' from "ISO-8601-Derived Periods" display '< 2 Weeks'\r\ncode "P2W--P9999Y": 'P2W--P9999Y' from "ISO-8601-Derived Periods" display '> 2 Weeks'\r\n\r\n// Age groups for adolescent\r\ncode "P0Y--P9Y": 'P0Y--P9Y' from "ISO-8601-Derived Periods" display '< 9 years'\r\ncode "P9Y--P14Y": 'P9Y--P14Y' from "ISO-8601-Derived Periods" display '9 - 14 years'\r\ncode "P15Y--P9999Y": 'P15Y--P9999Y' from "ISO-8601-Derived Periods" display '> 15 years'\r\n\r\n// RCV Startifiers\r\ncode "P0M--P9M": 'P0M--P9M' from "ISO-8601-Derived Periods" display '< 9 months'\r\ncode "P9M--P18M": 'P9M--P18M' from "ISO-8601-Derived Periods" display '9 - 18 months'\r\ncode "P18M--P15Y": 'P18M--P15Y' from "ISO-8601-Derived Periods" display '18 months - 15 years'\r\n\r\n// Varicella Age groups\r\ncode "P0M--P12M": 'P0M--P12M' from "ISO-8601-Derived Periods" display '< 12 months'\r\ncode "P12M--P18M": 'P12M--P18M' from "ISO-8601-Derived Periods" display '12 - 18 months'\r\ncode "P18M--P36M": 'P18M--P36M' from "ISO-8601-Derived Periods" display '18 - 36 months'\r\ncode "P36M--P12Y": 'P36M--P12Y' from "ISO-8601-Derived Periods" display '36 months - 12 years'\r\ncode "P12Y--P9999Y": 'P12Y--P9999Y' from "ISO-8601-Derived Periods" display '> 12 years'\r\n\r\n// Influenza Age Groups\r\ncode "P1Y--P15Y": 'P1Y--P15Y' from "ISO-8601-Derived Periods" display '1 year - 15 years'\r\ncode "P15Y--P60Y": 'P15Y--P60Y' from "ISO-8601-Derived Periods" display '15 years - 60 years'\r\ncode "P60Y--P9999Y": 'P60Y--P9999Y' from "ISO-8601-Derived Periods" display '> 60 years'\r\n\r\ncodesystem "Administrative Gender Codes": 'http://hl7.org/fhir/administrative-gender'\r\ncode "Males" : 'male' from "Administrative Gender Codes" display 'Males'\r\ncode "Females" : 'female' from "Administrative Gender Codes" display 'Females'\r\ncode "Other" : 'other' from "Administrative Gender Codes" display 'Other/NA'\r\ncontext Patient\r\n\r\n\r\n/** \r\n * Infant disaggregations by age\r\n */\r\ndefine "Newborn By Age Stratifier":\r\n    case \r\n        when AgeInHoursAt(start of "Measurement Period") <= 24 then "PT0H--PT24H"\r\n        when AgeInWeeksAt(start of "Measurement Period") <= 2 then "PT24H--P2W"\r\n        when AgeInWeeksAt(start of "Measurement Period") > 2 then "P2W--P9999Y"\r\n        else null\r\n    end\r\n\r\n/** \r\n * Infant disaggregations by age\r\n */\r\ndefine "Infant By Age Stratifier":\r\n    case \r\n        when AgeInYearsAt(start of "Measurement Period") < 1 then "P0Y--P1Y"\r\n        when AgeInYearsAt(start of "Measurement Period") >= 1 then "P1Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n/** \r\n * Toddler By Age Stratifiers\r\n */\r\ndefine "Toddler By Age Stratifier":\r\n    case \r\n        when AgeInYearsAt(start of "Measurement Period") < 1 then "P0Y--P1Y"\r\n        when AgeInYearsAt(start of "Measurement Period") < 2 then "P1Y--P2Y"\r\n        when AgeInYearsAt(start of "Measurement Period") >= 2 then "P2Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n\r\n/** \r\n * Toddler By Age Stratifiers\r\n */\r\ndefine "Adolescent By Age Stratifier":\r\n    case \r\n        when AgeInYearsAt(start of "Measurement Period") < 9 then "P0Y--P9Y"\r\n        when AgeInYearsAt(start of "Measurement Period") <= 14 then "P9Y--P14Y"\r\n        when AgeInYearsAt(start of "Measurement Period") > 14 then "P15Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n/** \r\n * RCV age disaggregators\r\n */\r\ndefine "RCV By Age Stratifier":\r\n    case \r\n        when AgeInMonthsAt(start of "Measurement Period") < 9 then "P0M--P9M"\r\n        when AgeInMonthsAt(start of "Measurement Period") < 18 then "P9M--P18M"\r\n        when AgeInYearsAt(start of "Measurement Period") < 15 then "P18M--P15Y"\r\n        when AgeInYearsAt(start of "Measurement Period") >= 15 then "P15Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n/** \r\n * Varicella age disaggregators\r\n */\r\ndefine "Varicella By Age Stratifier":\r\n    case \r\n        when AgeInMonthsAt(start of "Measurement Period") < 12 then "P0M--P12M"\r\n        when AgeInMonthsAt(start of "Measurement Period") < 18 then "P12M--P18M"\r\n        when AgeInMonthsAt(start of "Measurement Period") < 36 then "P18M--P36M"\r\n        when AgeInYearsAt(start of "Measurement Period") < 12 then "P36M--P12Y"\r\n        when AgeInYearsAt(start of "Measurement Period") >= 12 then "P12Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n\r\n/** \r\n * Seasonal Influenza age disaggregators\r\n */\r\ndefine "Seasonal Influenza By Age Stratifier":\r\n    case \r\n        when AgeInYearsAt(start of "Measurement Period") < 1 then "P0Y--P1Y"\r\n        when AgeInYearsAt(start of "Measurement Period") < 15 then "P1Y--P15Y"\r\n        when AgeInYearsAt(start of "Measurement Period") < 60 then "P15Y--P60Y"\r\n        when AgeInYearsAt(start of "Measurement Period") >= 60 then "P60Y--P9999Y"\r\n        else null\r\n    end\r\n\r\n/**\r\n * By Administrative Gender of Patient Stratifier\r\n */\r\ndefine "By Administrative Gender Stratifier":\r\n    case \r\n        when Patient.gender = 'male' then "Males"\r\n        when Patient.gender = 'female' then "Females"\r\n        else "Other"\r\n    end\r\n\r\n/**\r\n * By Administrative Gender of Patient Stratifier\r\n */\r\ndefine "By Geographic Region Stratifier":\r\n    First(Patient.address A where A.use in { 'home' }).state\r\n\r\n/** \r\n * @dataElement Patient is deceased\r\n */\r\ndefine "Patient Deceased During Measurement Period":\r\n  case \r\n    when Patient.deceased is FHIR.boolean then Patient.deceased as FHIR.boolean\r\n    when Patient.deceased is FHIR.dateTime then Patient.deceased as FHIR.dateTime before end of "Measurement Period"\r\n    else false\r\n  end\r\n\r\n/** \r\n * Patient was born during measurement period\r\n */\r\ndefine "Patient Born During Measurement Period":\r\n    Patient.birthDate during "Measurement Period"\r\n\r\n/** \r\n * Patient is < 12 months old at the end of the measurement period\r\n */\r\ndefine "Patient Under 12 Months Old During Measurement Period":\r\n    Patient.birthDate more than 12 month before end of "Measurement Period"\r\n\r\n/** \r\n * Patient is < 12 years old at the end of the measurement period\r\n */\r\ndefine "Patient Under 2 Years Old During Measurement Period":\r\n    Patient.birthDate more than 2 year before end of "Measurement Period"\r\n\r\n\r\n/** \r\n * @define Adverse events for immunizations which occurred during (or observed) during measurement period\r\n */\r\ndefine "Immunizations with Adverse Events During Measurement Period":\r\n    IMMZCom."Doses Administered to Patient" I\r\n    with [Observation: code in WC."Adverse Events"] O\r\n    such that exists(I.reaction R where O.id = Last(Split(R.detail.reference, '/')))\r\n    and FC.ToInterval(O.effective) during "Measurement Period"\r\n\r\n\r\n/** \r\n * @define Adverse events for immunizations which occurred during (or observed) during measurement period\r\n */\r\ndefine "Adverse Event Reactions During Measurement Period":\r\n    [Observation: code in WC."Adverse Events"] O\r\n    with IMMZCom."Doses Administered to Patient" I\r\n    such that exists(I.reaction R where O.id = Last(Split(R.detail.reference, '/')))\r\n    where FC.ToInterval(O.effective) during "Measurement Period"\r\n\r\n/** \r\n * @define Doses which were \r\n */\r\ndefine "Doses Administered to Patient During Measurement Period":\r\n    IMMZCom."Doses Administered to Patient"  I\r\n    where IMMZCom.ToDate(I.occurrence) during "Measurement Period"\r\n\r\n/** \r\n * @function\r\n * @param immunization The immunization record for which the location should be retrieved\r\n * @return FHIR.address The location that the immunization event occurred\r\n */\r\ndefine function GetGeographicRegionForImmunization(immunization Immunization):\r\n    WCom.Official([Location] L \r\n        where L.id = Last(Split(immunization.location.reference, '/'))\r\n        return L.address).state

Content not shown - (application/elm+xml, size = 118Kb)

Content not shown - (application/elm+json, size = 213Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZIndicatorCommon", + "version" : "0.1.0", + "name" : "IMMZIndicatorCommon", + "title" : "IMMZIndicatorCommon", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines common terminologies and functions used throughout the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://ohie.org/CodeSystem/iso-8601-derived-periods" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/administrative-gender" + }], + "parameter" : [{ + "name" : "Measurement Period", + "use" : "in", + "min" : 0, + "max" : "1", + "type" : "Period" + }, + { + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }, + { + "name" : "Newborn By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "Infant By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "Toddler By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "Adolescent By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "RCV By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "Varicella By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "Seasonal Influenza By Age Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "By Administrative Gender Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Coding" + }, + { + "name" : "By Geographic Region Stratifier", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "string" + }, + { + "name" : "Patient Deceased During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Patient Born During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Patient Under 12 Months Old During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Patient Under 2 Years Old During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "boolean" + }, + { + "name" : "Immunizations with Adverse Events During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Immunization" + }, + { + "name" : "Adverse Event Reactions During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Observation" + }, + { + "name" : "Doses Administered to Patient During Measurement Period", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Immunization" + }], + "dataRequirement" : [{ + "type" : "Observation", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Observation"], + "codeFilter" : [{ + "path" : "code", + "valueSet" : "http://hl7.org/fhir/ValueSet/adverse-event-type" + }] + }, + { + "type" : "Observation", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Observation"], + "codeFilter" : [{ + "path" : "code", + "valueSet" : "http://hl7.org/fhir/ValueSet/adverse-event-type" + }] + }, + { + "type" : "Location", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Location"] + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "LyoqDQogKiBJbW11bml6YXRpb24gQ29tbW9uIFN0cmF0aWZpZXJzIGJ5IFBhdGllbnRzIGFzIENvbnRleHQNCiAqLw0KDQpsaWJyYXJ5IElNTVpJbmRpY2F0b3JDb21tb24NCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScNCg0KaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCmluY2x1ZGUgRkhJUkNvbW1vbiBjYWxsZWQgRkMNCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgSU1NWkNvbQ0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQ0KaW5jbHVkZSBXSE9Db25jZXB0cyBjYWxsZWQgV0MNCmNvZGVzeXN0ZW0gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyI6ICdodHRwOi8vb2hpZS5vcmcvQ29kZVN5c3RlbS9pc28tODYwMS1kZXJpdmVkLXBlcmlvZHMnDQpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAyMC0wMS0wMSwgQDIwMjAtMTItMzFdDQoNCi8vIEFnZSBHcm91cHMgZm9yIFZhY2NpbmVzIGZvciBpbmZhbnRzDQpjb2RlICJQMFktLVAxWSI6ICdQMFktLVAxWScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICc8IDEgeWVhcicNCmNvZGUgIlAxWS0tUDk5OTlZIjogJ1AxWS0tUDk5OTlZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJz4gMSB5ZWFyJw0KDQovLyBBZ2UgR3JvdXBzIGZvciBWYWNjaW5lcyBmb3IgVG9kZGxlcnMNCmNvZGUgIlAwWS0tUDJZIjogJ1AwWS0tUDJZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJzwgMiB5ZWFycycNCmNvZGUgIlAxWS0tUDJZIjogJ1AxWS0tUDJZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJzEgeWVhcicNCmNvZGUgIlAyWS0tUDk5OTlZIjogJ1AyWS0tUDk5OTlZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJz4gMiB5ZWFycycNCg0KLy8gQWdlIGdyb3VwcyBmb3IgbmV3Ym9ybnMNCmNvZGUgIlBUMEgtLVBUMjRIIjogJ1BUMEgtLVBUMjRIJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJ1dpdGhpbiAyNEggb2YgQmlydGgnDQpjb2RlICJQVDI0SC0tUDJXIjogJ1BUMjRILS1QMlcnIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnPCAyIFdlZWtzJw0KY29kZSAiUDJXLS1QOTk5OVkiOiAnUDJXLS1QOTk5OVknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnPiAyIFdlZWtzJw0KDQovLyBBZ2UgZ3JvdXBzIGZvciBhZG9sZXNjZW50DQpjb2RlICJQMFktLVA5WSI6ICdQMFktLVA5WScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICc8IDkgeWVhcnMnDQpjb2RlICJQOVktLVAxNFkiOiAnUDlZLS1QMTRZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJzkgLSAxNCB5ZWFycycNCmNvZGUgIlAxNVktLVA5OTk5WSI6ICdQMTVZLS1QOTk5OVknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnPiAxNSB5ZWFycycNCg0KLy8gUkNWIFN0YXJ0aWZpZXJzDQpjb2RlICJQME0tLVA5TSI6ICdQME0tLVA5TScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICc8IDkgbW9udGhzJw0KY29kZSAiUDlNLS1QMThNIjogJ1A5TS0tUDE4TScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICc5IC0gMTggbW9udGhzJw0KY29kZSAiUDE4TS0tUDE1WSI6ICdQMThNLS1QMTVZJyBmcm9tICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiIGRpc3BsYXkgJzE4IG1vbnRocyAtIDE1IHllYXJzJw0KDQovLyBWYXJpY2VsbGEgQWdlIGdyb3Vwcw0KY29kZSAiUDBNLS1QMTJNIjogJ1AwTS0tUDEyTScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICc8IDEyIG1vbnRocycNCmNvZGUgIlAxMk0tLVAxOE0iOiAnUDEyTS0tUDE4TScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICcxMiAtIDE4IG1vbnRocycNCmNvZGUgIlAxOE0tLVAzNk0iOiAnUDE4TS0tUDM2TScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICcxOCAtIDM2IG1vbnRocycNCmNvZGUgIlAzNk0tLVAxMlkiOiAnUDM2TS0tUDEyWScgZnJvbSAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIiBkaXNwbGF5ICczNiBtb250aHMgLSAxMiB5ZWFycycNCmNvZGUgIlAxMlktLVA5OTk5WSI6ICdQMTJZLS1QOTk5OVknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnPiAxMiB5ZWFycycNCg0KLy8gSW5mbHVlbnphIEFnZSBHcm91cHMNCmNvZGUgIlAxWS0tUDE1WSI6ICdQMVktLVAxNVknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnMSB5ZWFyIC0gMTUgeWVhcnMnDQpjb2RlICJQMTVZLS1QNjBZIjogJ1AxNVktLVA2MFknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnMTUgeWVhcnMgLSA2MCB5ZWFycycNCmNvZGUgIlA2MFktLVA5OTk5WSI6ICdQNjBZLS1QOTk5OVknIGZyb20gIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgZGlzcGxheSAnPiA2MCB5ZWFycycNCg0KY29kZXN5c3RlbSAiQWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvYWRtaW5pc3RyYXRpdmUtZ2VuZGVyJw0KY29kZSAiTWFsZXMiIDogJ21hbGUnIGZyb20gIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2RlcyIgZGlzcGxheSAnTWFsZXMnDQpjb2RlICJGZW1hbGVzIiA6ICdmZW1hbGUnIGZyb20gIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2RlcyIgZGlzcGxheSAnRmVtYWxlcycNCmNvZGUgIk90aGVyIiA6ICdvdGhlcicgZnJvbSAiQWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzIiBkaXNwbGF5ICdPdGhlci9OQScNCmNvbnRleHQgUGF0aWVudA0KDQoNCi8qKiANCiAqIEluZmFudCBkaXNhZ2dyZWdhdGlvbnMgYnkgYWdlDQogKi8NCmRlZmluZSAiTmV3Ym9ybiBCeSBBZ2UgU3RyYXRpZmllciI6DQogICAgY2FzZSANCiAgICAgICAgd2hlbiBBZ2VJbkhvdXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDw9IDI0IHRoZW4gIlBUMEgtLVBUMjRIIg0KICAgICAgICB3aGVuIEFnZUluV2Vla3NBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPD0gMiB0aGVuICJQVDI0SC0tUDJXIg0KICAgICAgICB3aGVuIEFnZUluV2Vla3NBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPiAyIHRoZW4gIlAyVy0tUDk5OTlZIg0KICAgICAgICBlbHNlIG51bGwNCiAgICBlbmQNCg0KLyoqIA0KICogSW5mYW50IGRpc2FnZ3JlZ2F0aW9ucyBieSBhZ2UNCiAqLw0KZGVmaW5lICJJbmZhbnQgQnkgQWdlIFN0cmF0aWZpZXIiOg0KICAgIGNhc2UgDQogICAgICAgIHdoZW4gQWdlSW5ZZWFyc0F0KHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSA8IDEgdGhlbiAiUDBZLS1QMVkiDQogICAgICAgIHdoZW4gQWdlSW5ZZWFyc0F0KHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSA+PSAxIHRoZW4gIlAxWS0tUDk5OTlZIg0KICAgICAgICBlbHNlIG51bGwNCiAgICBlbmQNCg0KLyoqIA0KICogVG9kZGxlciBCeSBBZ2UgU3RyYXRpZmllcnMNCiAqLw0KZGVmaW5lICJUb2RkbGVyIEJ5IEFnZSBTdHJhdGlmaWVyIjoNCiAgICBjYXNlIA0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCAxIHRoZW4gIlAwWS0tUDFZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCAyIHRoZW4gIlAxWS0tUDJZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gMiB0aGVuICJQMlktLVA5OTk5WSINCiAgICAgICAgZWxzZSBudWxsDQogICAgZW5kDQoNCg0KLyoqIA0KICogVG9kZGxlciBCeSBBZ2UgU3RyYXRpZmllcnMNCiAqLw0KZGVmaW5lICJBZG9sZXNjZW50IEJ5IEFnZSBTdHJhdGlmaWVyIjoNCiAgICBjYXNlIA0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCA5IHRoZW4gIlAwWS0tUDlZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPD0gMTQgdGhlbiAiUDlZLS1QMTRZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPiAxNCB0aGVuICJQMTVZLS1QOTk5OVkiDQogICAgICAgIGVsc2UgbnVsbA0KICAgIGVuZA0KDQovKiogDQogKiBSQ1YgYWdlIGRpc2FnZ3JlZ2F0b3JzDQogKi8NCmRlZmluZSAiUkNWIEJ5IEFnZSBTdHJhdGlmaWVyIjoNCiAgICBjYXNlIA0KICAgICAgICB3aGVuIEFnZUluTW9udGhzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgOSB0aGVuICJQME0tLVA5TSINCiAgICAgICAgd2hlbiBBZ2VJbk1vbnRoc0F0KHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSA8IDE4IHRoZW4gIlA5TS0tUDE4TSINCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgMTUgdGhlbiAiUDE4TS0tUDE1WSINCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpID49IDE1IHRoZW4gIlAxNVktLVA5OTk5WSINCiAgICAgICAgZWxzZSBudWxsDQogICAgZW5kDQoNCi8qKiANCiAqIFZhcmljZWxsYSBhZ2UgZGlzYWdncmVnYXRvcnMNCiAqLw0KZGVmaW5lICJWYXJpY2VsbGEgQnkgQWdlIFN0cmF0aWZpZXIiOg0KICAgIGNhc2UgDQogICAgICAgIHdoZW4gQWdlSW5Nb250aHNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCAxMiB0aGVuICJQME0tLVAxMk0iDQogICAgICAgIHdoZW4gQWdlSW5Nb250aHNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCAxOCB0aGVuICJQMTJNLS1QMThNIg0KICAgICAgICB3aGVuIEFnZUluTW9udGhzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgMzYgdGhlbiAiUDE4TS0tUDM2TSINCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgMTIgdGhlbiAiUDM2TS0tUDEyWSINCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpID49IDEyIHRoZW4gIlAxMlktLVA5OTk5WSINCiAgICAgICAgZWxzZSBudWxsDQogICAgZW5kDQoNCg0KLyoqIA0KICogU2Vhc29uYWwgSW5mbHVlbnphIGFnZSBkaXNhZ2dyZWdhdG9ycw0KICovDQpkZWZpbmUgIlNlYXNvbmFsIEluZmx1ZW56YSBCeSBBZ2UgU3RyYXRpZmllciI6DQogICAgY2FzZSANCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgMSB0aGVuICJQMFktLVAxWSINCiAgICAgICAgd2hlbiBBZ2VJblllYXJzQXQoc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIDwgMTUgdGhlbiAiUDFZLS1QMTVZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPCA2MCB0aGVuICJQMTVZLS1QNjBZIg0KICAgICAgICB3aGVuIEFnZUluWWVhcnNBdChzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gNjAgdGhlbiAiUDYwWS0tUDk5OTlZIg0KICAgICAgICBlbHNlIG51bGwNCiAgICBlbmQNCg0KLyoqDQogKiBCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgb2YgUGF0aWVudCBTdHJhdGlmaWVyDQogKi8NCmRlZmluZSAiQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiOg0KICAgIGNhc2UgDQogICAgICAgIHdoZW4gUGF0aWVudC5nZW5kZXIgPSAnbWFsZScgdGhlbiAiTWFsZXMiDQogICAgICAgIHdoZW4gUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJyB0aGVuICJGZW1hbGVzIg0KICAgICAgICBlbHNlICJPdGhlciINCiAgICBlbmQNCg0KLyoqDQogKiBCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgb2YgUGF0aWVudCBTdHJhdGlmaWVyDQogKi8NCmRlZmluZSAiQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciI6DQogICAgRmlyc3QoUGF0aWVudC5hZGRyZXNzIEEgd2hlcmUgQS51c2UgaW4geyAnaG9tZScgfSkuc3RhdGUNCg0KLyoqIA0KICogQGRhdGFFbGVtZW50IFBhdGllbnQgaXMgZGVjZWFzZWQNCiAqLw0KZGVmaW5lICJQYXRpZW50IERlY2Vhc2VkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOg0KICBjYXNlIA0KICAgIHdoZW4gUGF0aWVudC5kZWNlYXNlZCBpcyBGSElSLmJvb2xlYW4gdGhlbiBQYXRpZW50LmRlY2Vhc2VkIGFzIEZISVIuYm9vbGVhbg0KICAgIHdoZW4gUGF0aWVudC5kZWNlYXNlZCBpcyBGSElSLmRhdGVUaW1lIHRoZW4gUGF0aWVudC5kZWNlYXNlZCBhcyBGSElSLmRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCINCiAgICBlbHNlIGZhbHNlDQogIGVuZA0KDQovKiogDQogKiBQYXRpZW50IHdhcyBib3JuIGR1cmluZyBtZWFzdXJlbWVudCBwZXJpb2QNCiAqLw0KZGVmaW5lICJQYXRpZW50IEJvcm4gRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6DQogICAgUGF0aWVudC5iaXJ0aERhdGUgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiDQoNCi8qKiANCiAqIFBhdGllbnQgaXMgPCAxMiBtb250aHMgb2xkIGF0IHRoZSBlbmQgb2YgdGhlIG1lYXN1cmVtZW50IHBlcmlvZA0KICovDQpkZWZpbmUgIlBhdGllbnQgVW5kZXIgMTIgTW9udGhzIE9sZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoNCiAgICBQYXRpZW50LmJpcnRoRGF0ZSBtb3JlIHRoYW4gMTIgbW9udGggYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIg0KDQovKiogDQogKiBQYXRpZW50IGlzIDwgMTIgeWVhcnMgb2xkIGF0IHRoZSBlbmQgb2YgdGhlIG1lYXN1cmVtZW50IHBlcmlvZA0KICovDQpkZWZpbmUgIlBhdGllbnQgVW5kZXIgMiBZZWFycyBPbGQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6DQogICAgUGF0aWVudC5iaXJ0aERhdGUgbW9yZSB0aGFuIDIgeWVhciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiDQoNCg0KLyoqIA0KICogQGRlZmluZSBBZHZlcnNlIGV2ZW50cyBmb3IgaW1tdW5pemF0aW9ucyB3aGljaCBvY2N1cnJlZCBkdXJpbmcgKG9yIG9ic2VydmVkKSBkdXJpbmcgbWVhc3VyZW1lbnQgcGVyaW9kDQogKi8NCmRlZmluZSAiSW1tdW5pemF0aW9ucyB3aXRoIEFkdmVyc2UgRXZlbnRzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOg0KICAgIElNTVpDb20uIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJDQogICAgd2l0aCBbT2JzZXJ2YXRpb246IGNvZGUgaW4gV0MuIkFkdmVyc2UgRXZlbnRzIl0gTw0KICAgIHN1Y2ggdGhhdCBleGlzdHMoSS5yZWFjdGlvbiBSIHdoZXJlIE8uaWQgPSBMYXN0KFNwbGl0KFIuZGV0YWlsLnJlZmVyZW5jZSwgJy8nKSkpDQogICAgYW5kIEZDLlRvSW50ZXJ2YWwoTy5lZmZlY3RpdmUpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIg0KDQoNCi8qKiANCiAqIEBkZWZpbmUgQWR2ZXJzZSBldmVudHMgZm9yIGltbXVuaXphdGlvbnMgd2hpY2ggb2NjdXJyZWQgZHVyaW5nIChvciBvYnNlcnZlZCkgZHVyaW5nIG1lYXN1cmVtZW50IHBlcmlvZA0KICovDQpkZWZpbmUgIkFkdmVyc2UgRXZlbnQgUmVhY3Rpb25zIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOg0KICAgIFtPYnNlcnZhdGlvbjogY29kZSBpbiBXQy4iQWR2ZXJzZSBFdmVudHMiXSBPDQogICAgd2l0aCBJTU1aQ29tLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQ0KICAgIHN1Y2ggdGhhdCBleGlzdHMoSS5yZWFjdGlvbiBSIHdoZXJlIE8uaWQgPSBMYXN0KFNwbGl0KFIuZGV0YWlsLnJlZmVyZW5jZSwgJy8nKSkpDQogICAgd2hlcmUgRkMuVG9JbnRlcnZhbChPLmVmZmVjdGl2ZSkgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiDQoNCi8qKiANCiAqIEBkZWZpbmUgRG9zZXMgd2hpY2ggd2VyZSANCiAqLw0KZGVmaW5lICJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoNCiAgICBJTU1aQ29tLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgIEkNCiAgICB3aGVyZSBJTU1aQ29tLlRvRGF0ZShJLm9jY3VycmVuY2UpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIg0KDQovKiogDQogKiBAZnVuY3Rpb24NCiAqIEBwYXJhbSBpbW11bml6YXRpb24gVGhlIGltbXVuaXphdGlvbiByZWNvcmQgZm9yIHdoaWNoIHRoZSBsb2NhdGlvbiBzaG91bGQgYmUgcmV0cmlldmVkDQogKiBAcmV0dXJuIEZISVIuYWRkcmVzcyBUaGUgbG9jYXRpb24gdGhhdCB0aGUgaW1tdW5pemF0aW9uIGV2ZW50IG9jY3VycmVkDQogKi8NCmRlZmluZSBmdW5jdGlvbiBHZXRHZW9ncmFwaGljUmVnaW9uRm9ySW1tdW5pemF0aW9uKGltbXVuaXphdGlvbiBJbW11bml6YXRpb24pOg0KICAgIFdDb20uT2ZmaWNpYWwoW0xvY2F0aW9uXSBMIA0KICAgICAgICB3aGVyZSBMLmlkID0gTGFzdChTcGxpdChpbW11bml6YXRpb24ubG9jYXRpb24ucmVmZXJlbmNlLCAnLycpKQ0KICAgICAgICByZXR1cm4gTC5hZGRyZXNzKS5zdGF0ZQ==" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNDA2Ij4KICAgICAgICAgPGE6cz4vKioKICogSW1tdW5pemF0aW9uIENvbW1vbiBTdHJhdGlmaWVycyBieSBQYXRpZW50cyBhcyBDb250ZXh0CiAqLwpsaWJyYXJ5IElNTVpJbmRpY2F0b3JDb21tb248L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpJbmRpY2F0b3JDb21tb24iIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iNzoxLTc6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI5OjEtOTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSIxMDoxLTEwOjI4IiBsb2NhbElkZW50aWZpZXI9IkZDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEZDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjExOjEtMTE6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWkNvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aQ29tPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjEyOjEtMTI6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWmMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb25jZXB0czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpjPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEzOjEtMTM6MjkiIGxvY2FsSWRlbnRpZmllcj0iV0NvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL1dIT0NvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0NvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIxNDoxLTE0OjI5IiBsb2NhbElkZW50aWZpZXI9IldDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvV0hPQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0M8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIxNjoxLTE2Ojg4IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOSI+SW50ZXJ2YWxbQDIwMjAtMDEtMDEsIEAyMDIwLTEyLTMxXTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE2OjU1LTE2Ojg4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMTY6NjQtMTY6NzQiIHhzaTp0eXBlPSJEYXRlIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxNjo3Ny0xNjo4NyIgeHNpOnR5cGU9IkRhdGUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMzEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgPC9kZWZhdWx0PgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMTY6MzItMTY6NDUiIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIxNjo0MS0xNjo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE1OjEtMTU6OTIiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIgaWQ9Imh0dHA6Ly9vaGllLm9yZy9Db2RlU3lzdGVtL2lzby04NjAxLWRlcml2ZWQtcGVyaW9kcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7OiAnaHR0cDovL29oaWUub3JnL0NvZGVTeXN0ZW0vaXNvLTg2MDEtZGVyaXZlZC1wZXJpb2RzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1OSIgbG9jYXRvcj0iNTQ6MS01NDo4NSIgbmFtZT0iQWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9hZG1pbmlzdHJhdGl2ZS1nZW5kZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgQ29kZXMmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2FkbWluaXN0cmF0aXZlLWdlbmRlcic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMTk6MS0xOTo3OCIgbmFtZT0iUDBZLS1QMVkiIGlkPSJQMFktLVAxWSIgZGlzcGxheT0iJmx0OyAxIHllYXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gQWdlIEdyb3VwcyBmb3IgVmFjY2luZXMgZm9yIGluZmFudHMKY29kZSAmcXVvdDtQMFktLVAxWSZxdW90OzogJ1AwWS0tUDFZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJyZsdDsgMSB5ZWFyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxNSIgbG9jYXRvcj0iMTk6MzQtMTk6NTkiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMjA6MS0yMDo4NCIgbmFtZT0iUDFZLS1QOTk5OVkiIGlkPSJQMVktLVA5OTk5WSIgZGlzcGxheT0iPiAxIHllYXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtQMVktLVA5OTk5WSZxdW90OzogJ1AxWS0tUDk5OTlZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJz4gMSB5ZWFyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjA6NDAtMjA6NjUiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjM6MS0yMzo3OSIgbmFtZT0iUDBZLS1QMlkiIGlkPSJQMFktLVAyWSIgZGlzcGxheT0iJmx0OyAyIHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICA8YTpzPi8vIEFnZSBHcm91cHMgZm9yIFZhY2NpbmVzIGZvciBUb2RkbGVycwpjb2RlICZxdW90O1AwWS0tUDJZJnF1b3Q7OiAnUDBZLS1QMlknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnJmx0OyAyIHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjM6MzQtMjM6NTkiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjQ6MS0yNDo3NiIgbmFtZT0iUDFZLS1QMlkiIGlkPSJQMVktLVAyWSIgZGlzcGxheT0iMSB5ZWFyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDFZLS1QMlkmcXVvdDs6ICdQMVktLVAyWScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICcxIHllYXInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIyNDozNC0yNDo1OSIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIyNToxLTI1Ojg1IiBuYW1lPSJQMlktLVA5OTk5WSIgaWQ9IlAyWS0tUDk5OTlZIiBkaXNwbGF5PSI+IDIgeWVhcnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtQMlktLVA5OTk5WSZxdW90OzogJ1AyWS0tUDk5OTlZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJz4gMiB5ZWFycyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjI1OjQwLTI1OjY1IiBuYW1lPSJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjI4OjEtMjg6OTUiIG5hbWU9IlBUMEgtLVBUMjRIIiBpZD0iUFQwSC0tUFQyNEgiIGRpc3BsYXk9IldpdGhpbiAyNEggb2YgQmlydGgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gQWdlIGdyb3VwcyBmb3IgbmV3Ym9ybnMKY29kZSAmcXVvdDtQVDBILS1QVDI0SCZxdW90OzogJ1BUMEgtLVBUMjRIJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1dpdGhpbiAyNEggb2YgQmlydGgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIyODo0MC0yODo2NSIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIyOToxLTI5OjgzIiBuYW1lPSJQVDI0SC0tUDJXIiBpZD0iUFQyNEgtLVAyVyIgZGlzcGxheT0iJmx0OyAyIFdlZWtzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UFQyNEgtLVAyVyZxdW90OzogJ1BUMjRILS1QMlcnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnJmx0OyAyIFdlZWtzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMjk6MzgtMjk6NjMiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMzA6MS0zMDo4NSIgbmFtZT0iUDJXLS1QOTk5OVkiIGlkPSJQMlctLVA5OTk5WSIgZGlzcGxheT0iPiAyIFdlZWtzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDJXLS1QOTk5OVkmcXVvdDs6ICdQMlctLVA5OTk5WScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICc+IDIgV2Vla3MnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSIzMDo0MC0zMDo2NSIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSIzMzoxLTMzOjc5IiBuYW1lPSJQMFktLVA5WSIgaWQ9IlAwWS0tUDlZIiBkaXNwbGF5PSImbHQ7IDkgeWVhcnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gQWdlIGdyb3VwcyBmb3IgYWRvbGVzY2VudApjb2RlICZxdW90O1AwWS0tUDlZJnF1b3Q7OiAnUDBZLS1QOVknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnJmx0OyA5IHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMSIgbG9jYXRvcj0iMzM6MzQtMzM6NTkiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNCIgbG9jYXRvcj0iMzQ6MS0zNDo4NCIgbmFtZT0iUDlZLS1QMTRZIiBpZD0iUDlZLS1QMTRZIiBkaXNwbGF5PSI5IC0gMTQgeWVhcnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtQOVktLVAxNFkmcXVvdDs6ICdQOVktLVAxNFknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnOSAtIDE0IHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMyIgbG9jYXRvcj0iMzQ6MzYtMzQ6NjEiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMzU6MS0zNTo4OCIgbmFtZT0iUDE1WS0tUDk5OTlZIiBpZD0iUDE1WS0tUDk5OTlZIiBkaXNwbGF5PSI+IDE1IHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDE1WS0tUDk5OTlZJnF1b3Q7OiAnUDE1WS0tUDk5OTlZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJz4gMTUgeWVhcnMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIzNTo0Mi0zNTo2NyIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSIzODoxLTM4OjgwIiBuYW1lPSJQME0tLVA5TSIgaWQ9IlAwTS0tUDlNIiBkaXNwbGF5PSImbHQ7IDkgbW9udGhzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICA8YTpzPi8vIFJDViBTdGFydGlmaWVycwpjb2RlICZxdW90O1AwTS0tUDlNJnF1b3Q7OiAnUDBNLS1QOU0nIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnJmx0OyA5IG1vbnRocyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzciIGxvY2F0b3I9IjM4OjM0LTM4OjU5IiBuYW1lPSJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjM5OjEtMzk6ODUiIG5hbWU9IlA5TS0tUDE4TSIgaWQ9IlA5TS0tUDE4TSIgZGlzcGxheT0iOSAtIDE4IG1vbnRocyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O1A5TS0tUDE4TSZxdW90OzogJ1A5TS0tUDE4TScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICc5IC0gMTggbW9udGhzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzOSIgbG9jYXRvcj0iMzk6MzYtMzk6NjEiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MiIgbG9jYXRvcj0iNDA6MS00MDo5NCIgbmFtZT0iUDE4TS0tUDE1WSIgaWQ9IlAxOE0tLVAxNVkiIGRpc3BsYXk9IjE4IG1vbnRocyAtIDE1IHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDE4TS0tUDE1WSZxdW90OzogJ1AxOE0tLVAxNVknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnMTggbW9udGhzIC0gMTUgeWVhcnMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI0MDozOC00MDo2MyIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI0MzoxLTQzOjgzIiBuYW1lPSJQME0tLVAxMk0iIGlkPSJQME0tLVAxMk0iIGRpc3BsYXk9IiZsdDsgMTIgbW9udGhzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICA8YTpzPi8vIFZhcmljZWxsYSBBZ2UgZ3JvdXBzCmNvZGUgJnF1b3Q7UDBNLS1QMTJNJnF1b3Q7OiAnUDBNLS1QMTJNJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJyZsdDsgMTIgbW9udGhzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDM6MzYtNDM6NjEiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NiIgbG9jYXRvcj0iNDQ6MS00NDo4OCIgbmFtZT0iUDEyTS0tUDE4TSIgaWQ9IlAxMk0tLVAxOE0iIGRpc3BsYXk9IjEyIC0gMTggbW9udGhzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDEyTS0tUDE4TSZxdW90OzogJ1AxMk0tLVAxOE0nIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lTTy04NjAxLURlcml2ZWQgUGVyaW9kcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnMTIgLSAxOCBtb250aHMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjQ1IiBsb2NhdG9yPSI0NDozOC00NDo2MyIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSI0NToxLTQ1Ojg4IiBuYW1lPSJQMThNLS1QMzZNIiBpZD0iUDE4TS0tUDM2TSIgZGlzcGxheT0iMTggLSAzNiBtb250aHMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtQMThNLS1QMzZNJnF1b3Q7OiAnUDE4TS0tUDM2TScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICcxOCAtIDM2IG1vbnRocyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNDciIGxvY2F0b3I9IjQ1OjM4LTQ1OjYzIiBuYW1lPSJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjQ2OjEtNDY6OTQiIG5hbWU9IlAzNk0tLVAxMlkiIGlkPSJQMzZNLS1QMTJZIiBkaXNwbGF5PSIzNiBtb250aHMgLSAxMiB5ZWFycyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O1AzNk0tLVAxMlkmcXVvdDs6ICdQMzZNLS1QMTJZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJzM2IG1vbnRocyAtIDEyIHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI0OSIgbG9jYXRvcj0iNDY6MzgtNDY6NjMiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MiIgbG9jYXRvcj0iNDc6MS00Nzo4OCIgbmFtZT0iUDEyWS0tUDk5OTlZIiBpZD0iUDEyWS0tUDk5OTlZIiBkaXNwbGF5PSI+IDEyIHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDEyWS0tUDk5OTlZJnF1b3Q7OiAnUDEyWS0tUDk5OTlZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJz4gMTIgeWVhcnMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI0Nzo0Mi00Nzo2NyIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSI1MDoxLTUwOjg5IiBuYW1lPSJQMVktLVAxNVkiIGlkPSJQMVktLVAxNVkiIGRpc3BsYXk9IjEgeWVhciAtIDE1IHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTQiPgogICAgICAgICAgICAgICA8YTpzPi8vIEluZmx1ZW56YSBBZ2UgR3JvdXBzCmNvZGUgJnF1b3Q7UDFZLS1QMTVZJnF1b3Q7OiAnUDFZLS1QMTVZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJzEgeWVhciAtIDE1IHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNTA6MzYtNTA6NjEiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NiIgbG9jYXRvcj0iNTE6MS01MTo5MyIgbmFtZT0iUDE1WS0tUDYwWSIgaWQ9IlAxNVktLVA2MFkiIGRpc3BsYXk9IjE1IHllYXJzIC0gNjAgeWVhcnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtQMTVZLS1QNjBZJnF1b3Q7OiAnUDE1WS0tUDYwWScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICcxNSB5ZWFycyAtIDYwIHllYXJzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI1NSIgbG9jYXRvcj0iNTE6MzgtNTE6NjMiIG5hbWU9IklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1OCIgbG9jYXRvcj0iNTI6MS01Mjo4OCIgbmFtZT0iUDYwWS0tUDk5OTlZIiBpZD0iUDYwWS0tUDk5OTlZIiBkaXNwbGF5PSI+IDYwIHllYXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7UDYwWS0tUDk5OTlZJnF1b3Q7OiAnUDYwWS0tUDk5OTlZJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJz4gNjAgeWVhcnMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjU3IiBsb2NhdG9yPSI1Mjo0Mi01Mjo2NyIgbmFtZT0iSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSI1NToxLTU1OjcyIiBuYW1lPSJNYWxlcyIgaWQ9Im1hbGUiIGRpc3BsYXk9Ik1hbGVzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7TWFsZXMmcXVvdDsgOiAnbWFsZScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdNYWxlcyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjU1OjI4LTU1OjU2IiBuYW1lPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjU2OjEtNTY6NzgiIG5hbWU9IkZlbWFsZXMiIGlkPSJmZW1hbGUiIGRpc3BsYXk9IkZlbWFsZXMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtGZW1hbGVzJnF1b3Q7IDogJ2ZlbWFsZScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdGZW1hbGVzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI2MiIgbG9jYXRvcj0iNTY6MzItNTY6NjAiIG5hbWU9IkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2RlcyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NSIgbG9jYXRvcj0iNTc6MS01Nzo3NiIgbmFtZT0iT3RoZXIiIGlkPSJvdGhlciIgZGlzcGxheT0iT3RoZXIvTkEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtPdGhlciZxdW90OyA6ICdvdGhlcicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdPdGhlci9OQSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjU3OjI5LTU3OjU3IiBuYW1lPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgQ29kZXMiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU4OjEtNTg6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU4OjEtNTg6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNjQ6MS03MDo3IiBuYW1lPSJOZXdib3JuIEJ5IEFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogSW5mYW50IGRpc2FnZ3JlZ2F0aW9ucyBieSBhZ2UKICovCmRlZmluZSAmcXVvdDtOZXdib3JuIEJ5IEFnZSBTdHJhdGlmaWVyJnF1b3Q7OgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbkhvdXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPiAmbHQ7PSAyNDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UFQwSC0tUFQyNEgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5XZWVrc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4gJmx0Oz0gMjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UFQyNEgtLVAyVyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbldlZWtzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPiA+IDI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AyVy0tUDk5OTlZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NyI+CiAgICAgICAgZWxzZSBudWxsCiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg4IiBsb2NhdG9yPSI2NTo1LTcwOjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjcyIiBsb2NhdG9yPSI2Njo5LTY2OjgxIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjY2OjE0LTY2OjYyIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2OCIgbG9jYXRvcj0iNjY6MTQtNjY6NTYiIHByZWNpc2lvbj0iSG91ciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjY2OjI3LTY2OjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNjY6MzYtNjY6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjY2OjYxLTY2OjYyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSI2Njo2OS02Njo4MSIgbmFtZT0iUFQwSC0tUFQyNEgiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iNjc6OS02Nzo3OSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI2NzoxNC02Nzo2MSIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjY3OjE0LTY3OjU2IiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSI2NzoyNy02Nzo1NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzMiIGxvY2F0b3I9IjY3OjM2LTY3OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSI2Nzo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9Ijc4IiBsb2NhdG9yPSI2Nzo2OC02Nzo3OSIgbmFtZT0iUFQyNEgtLVAyVyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI2ODo5LTY4Ojc5Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iODQiIGxvY2F0b3I9IjY4OjE0LTY4OjYwIiB4c2k6dHlwZT0iR3JlYXRlciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgyIiBsb2NhdG9yPSI2ODoxNC02ODo1NiIgcHJlY2lzaW9uPSJXZWVrIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNjg6MjctNjg6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgwIiBsb2NhdG9yPSI2ODozNi02ODo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MyIgbG9jYXRvcj0iNjg6NjAiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNjg6NjctNjg6NzkiIG5hbWU9IlAyVy0tUDk5OTlZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBhc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODciIGxvY2F0b3I9IjY5OjE0LTY5OjE3IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA2IiBsb2NhdG9yPSI3NToxLTgwOjciIG5hbWU9IkluZmFudCBCeSBBZ2UgU3RyYXRpZmllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqIAogKiBJbmZhbnQgZGlzYWdncmVnYXRpb25zIGJ5IGFnZQogKi8KZGVmaW5lICZxdW90O0luZmFudCBCeSBBZ2UgU3RyYXRpZmllciZxdW90OzoKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSAKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+ICZsdDsgMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UDBZLS1QMVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4gPj0gMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AxWS0tUDk5OTlZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgIGVsc2UgbnVsbAogICAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDUiIGxvY2F0b3I9Ijc2OjUtODA6NyIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iOTYiIGxvY2F0b3I9Ijc3OjktNzc6NzYiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNzc6MTQtNzc6NjAiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTIiIGxvY2F0b3I9Ijc3OjE0LTc3OjU2IiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI3NzoyNy03Nzo1NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTAiIGxvY2F0b3I9Ijc3OjM2LTc3OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI3Nzo2MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSI3Nzo2Ny03Nzo3NiIgbmFtZT0iUDBZLS1QMVkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxMDMiIGxvY2F0b3I9Ijc4OjktNzg6ODAiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxMDEiIGxvY2F0b3I9Ijc4OjE0LTc4OjYxIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5OSIgbG9jYXRvcj0iNzg6MTQtNzg6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTgiIGxvY2F0b3I9Ijc4OjI3LTc4OjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NyIgbG9jYXRvcj0iNzg6MzYtNzg6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAwIiBsb2NhdG9yPSI3ODo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjEwMiIgbG9jYXRvcj0iNzg6NjgtNzg6ODAiIG5hbWU9IlAxWS0tUDk5OTlZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBhc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI3OToxNC03OToxNyIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iODU6MS05MTo3IiBuYW1lPSJUb2RkbGVyIEJ5IEFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIFRvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXJzCiAqLwpkZWZpbmUgJnF1b3Q7VG9kZGxlciBCeSBBZ2UgU3RyYXRpZmllciZxdW90OzoKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSAKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+ICZsdDsgMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AwWS0tUDFZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+ICZsdDsgMjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AxWS0tUDJZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+ID49IDI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMlktLVA5OTk5WSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICBlbHNlIG51bGwKICAgIGVuZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI4Njo1LTkxOjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iODc6OS04Nzo3NiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iODc6MTQtODc6NjAiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI4NzoxNC04Nzo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDgiIGxvY2F0b3I9Ijg3OjI3LTg3OjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDciIGxvY2F0b3I9Ijg3OjM2LTg3OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMCIgbG9jYXRvcj0iODc6NjAiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMTIiIGxvY2F0b3I9Ijg3OjY3LTg3Ojc2IiBuYW1lPSJQMFktLVAxWSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iODg6OS04ODo3NiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iODg6MTQtODg6NjAiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI4ODoxNC04ODo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTUiIGxvY2F0b3I9Ijg4OjI3LTg4OjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9Ijg4OjM2LTg4OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iODg6NjAiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxMTkiIGxvY2F0b3I9Ijg4OjY3LTg4Ojc2IiBuYW1lPSJQMVktLVAyWSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iODk6OS04OTo4MCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iODk6MTQtODk6NjEiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyMyIgbG9jYXRvcj0iODk6MTQtODk6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIyIiBsb2NhdG9yPSI4OToyNy04OTo1NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIxIiBsb2NhdG9yPSI4OTozNi04OTo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9Ijg5OjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSI4OTo2OC04OTo4MCIgbmFtZT0iUDJZLS1QOTk5OVkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjgiIGxvY2F0b3I9IjkwOjE0LTkwOjE3IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSI5NzoxLTEwMzo3IiBuYW1lPSJBZG9sZXNjZW50IEJ5IEFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIFRvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXJzCiAqLwpkZWZpbmUgJnF1b3Q7QWRvbGVzY2VudCBCeSBBZ2UgU3RyYXRpZmllciZxdW90OzoKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSAKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+ICZsdDsgOTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AwWS0tUDlZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+ICZsdDs9IDE0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UDlZLS1QMTRZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+ID4gMTQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMTVZLS1QOTk5OVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgZWxzZSBudWxsCiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1MyIgbG9jYXRvcj0iOTg6NS0xMDM6NyIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTM3IiBsb2NhdG9yPSI5OTo5LTk5Ojc2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI5OToxNC05OTo2MCIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzMiIGxvY2F0b3I9Ijk5OjE0LTk5OjU2IiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMiIgbG9jYXRvcj0iOTk6MjctOTk6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iOTk6MzYtOTk6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSI5OTo2MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iOTk6NjctOTk6NzYiIG5hbWU9IlAwWS0tUDlZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSIxMDA6OS0xMDA6NzkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjEwMDoxNC0xMDA6NjIiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MCIgbG9jYXRvcj0iMTAwOjE0LTEwMDo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzkiIGxvY2F0b3I9IjEwMDoyNy0xMDA6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iMTAwOjM2LTEwMDo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDEiIGxvY2F0b3I9IjEwMDo2MS0xMDA6NjIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTQzIiBsb2NhdG9yPSIxMDA6NjktMTAwOjc5IiBuYW1lPSJQOVktLVAxNFkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxNTEiIGxvY2F0b3I9IjEwMTo5LTEwMTo4MSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iMTAxOjE0LTEwMTo2MSIgeHNpOnR5cGU9IkdyZWF0ZXIiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDciIGxvY2F0b3I9IjEwMToxNC0xMDE6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSIxMDE6MjctMTAxOjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDUiIGxvY2F0b3I9IjEwMTozNi0xMDE6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ4IiBsb2NhdG9yPSIxMDE6NjAtMTAxOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iMTAxOjY4LTEwMTo4MSIgbmFtZT0iUDE1WS0tUDk5OTlZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBhc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSIxMDI6MTQtMTAyOjE3IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxMDg6MS0xMTU6NyIgbmFtZT0iUkNWIEJ5IEFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIFJDViBhZ2UgZGlzYWdncmVnYXRvcnMKICovCmRlZmluZSAmcXVvdDtSQ1YgQnkgQWdlIFN0cmF0aWZpZXImcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODQiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4gJmx0OyA5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UDBNLS1QOU0mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NSI+ICZsdDsgMTg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQOU0tLVAxOE0mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4gJmx0OyAxNTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AxOE0tLVAxNVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc5Ij4gPj0gMTU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMTVZLS1QOTk5OVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgZWxzZSBudWxsCiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iMTA5OjUtMTE1OjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iMTEwOjktMTEwOjc3Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSIxMTA6MTQtMTEwOjYxIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iMTEwOjE0LTExMDo1NyIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSIxMTA6MjgtMTEwOjU2IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjExMDozNy0xMTA6NTYiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSIxMTA6NjEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxNjAiIGxvY2F0b3I9IjExMDo2OC0xMTA6NzciIG5hbWU9IlAwTS0tUDlNIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSIxMTE6OS0xMTE6NzkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjExMToxNC0xMTE6NjIiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMTE6MTQtMTExOjU3IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjMiIGxvY2F0b3I9IjExMToyOC0xMTE6NTYiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iMTExOjM3LTExMTo1NiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjExMTo2MS0xMTE6NjIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTY3IiBsb2NhdG9yPSIxMTE6NjktMTExOjc5IiBuYW1lPSJQOU0tLVAxOE0iIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjExMjo5LTExMjo3OSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iMTEyOjE0LTExMjo2MSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjExMjoxNC0xMTI6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTcwIiBsb2NhdG9yPSIxMTI6MjctMTEyOjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjExMjozNi0xMTI6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTcyIiBsb2NhdG9yPSIxMTI6NjAtMTEyOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iMTEyOjY4LTExMjo3OSIgbmFtZT0iUDE4TS0tUDE1WSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE4MiIgbG9jYXRvcj0iMTEzOjktMTEzOjgyIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMTM6MTQtMTEzOjYyIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjExMzoxNC0xMTM6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMTM6MjctMTEzOjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjExMzozNi0xMTM6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSIxMTM6NjEtMTEzOjYyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTEzOjY5LTExMzo4MiIgbmFtZT0iUDE1WS0tUDk5OTlZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBhc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgzIiBsb2NhdG9yPSIxMTQ6MTQtMTE0OjE3IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIzIiBsb2NhdG9yPSIxMjA6MS0xMjg6NyIgbmFtZT0iVmFyaWNlbGxhIEJ5IEFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIFZhcmljZWxsYSBhZ2UgZGlzYWdncmVnYXRvcnMKICovCmRlZmluZSAmcXVvdDtWYXJpY2VsbGEgQnkgQWdlIFN0cmF0aWZpZXImcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AwTS0tUDEyTSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk2Ij4gJmx0OyAxODwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AxMk0tLVAxOE0mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+ICZsdDsgMzY8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMThNLS1QMzZNJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMCI+ICZsdDsgMTI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMzZNLS1QMTJZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+ID49IDEyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UDEyWS0tUDk5OTlZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjEiPgogICAgICAgIGVsc2UgbnVsbAogICAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjEyMTo1LTEyODo3IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIxOTIiIGxvY2F0b3I9IjEyMjo5LTEyMjo3OSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTIyOjE0LTEyMjo2MiIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjEyMjoxNC0xMjI6NTciIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NyIgbG9jYXRvcj0iMTIyOjI4LTEyMjo1NiIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMjI6MzctMTIyOjU2IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTIyOjYxLTEyMjo2MiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxOTEiIGxvY2F0b3I9IjEyMjo2OS0xMjI6NzkiIG5hbWU9IlAwTS0tUDEyTSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjE5OSIgbG9jYXRvcj0iMTIzOjktMTIzOjgwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMTk3IiBsb2NhdG9yPSIxMjM6MTQtMTIzOjYyIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5NSIgbG9jYXRvcj0iMTIzOjE0LTEyMzo1NyIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk0IiBsb2NhdG9yPSIxMjM6MjgtMTIzOjU2IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjEyMzozNy0xMjM6NTYiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMjM6NjEtMTIzOjYyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTIzOjY5LTEyMzo4MCIgbmFtZT0iUDEyTS0tUDE4TSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMTI0OjktMTI0OjgwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjA0IiBsb2NhdG9yPSIxMjQ6MTQtMTI0OjYyIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTI0OjE0LTEyNDo1NyIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjQ6MjgtMTI0OjU2IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDAiIGxvY2F0b3I9IjEyNDozNy0xMjQ6NTYiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAzIiBsb2NhdG9yPSIxMjQ6NjEtMTI0OjYyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjM2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iMTI0OjY5LTEyNDo4MCIgbmFtZT0iUDE4TS0tUDM2TSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTI1OjktMTI1Ojc5Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjU6MTQtMTI1OjYxIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTI1OjE0LTEyNTo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEyNToyNy0xMjU6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTI1OjM2LTEyNTo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEyNTo2MC0xMjU6NjEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxMjU6NjgtMTI1Ojc5IiBuYW1lPSJQMzZNLS1QMTJZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSIxMjY6OS0xMjY6ODIiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjEyNjoxNC0xMjY6NjIiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTI2OjE0LTEyNjo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjEyNjoyNy0xMjY6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTI2OjM2LTEyNjo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjEyNjo2MS0xMjY6NjIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxMjY6NjktMTI2OjgyIiBuYW1lPSJQMTJZLS1QOTk5OVkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjEiIGxvY2F0b3I9IjEyNzoxNC0xMjc6MTciIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTQiIGxvY2F0b3I9IjEzNDoxLTE0MTo3IiBuYW1lPSJTZWFzb25hbCBJbmZsdWVuemEgQnkgQWdlIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogU2Vhc29uYWwgSW5mbHVlbnphIGFnZSBkaXNhZ2dyZWdhdG9ycwogKi8KZGVmaW5lICZxdW90O1NlYXNvbmFsIEluZmx1ZW56YSBCeSBBZ2UgU3RyYXRpZmllciZxdW90OzoKICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSAKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+ICZsdDsgMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AwWS0tUDFZJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+ICZsdDsgMTU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQMVktLVAxNVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4gJmx0OyA2MDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1AxNVktLVA2MFkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4gPj0gNjA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQNjBZLS1QOTk5OVkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgZWxzZSBudWxsCiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMTM1OjUtMTQxOjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTM2OjktMTM2Ojc2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSIxMzY6MTQtMTM2OjYwIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iMTM2OjE0LTEzNjo1NiIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjEzNjoyNy0xMzY6NTUiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMTM2OjM2LTEzNjo1NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjEzNjo2MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMTM2OjY3LTEzNjo3NiIgbmFtZT0iUDBZLS1QMVkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjEzNzo5LTEzNzo3OCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTM3OjE0LTEzNzo2MSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzMiIGxvY2F0b3I9IjEzNzoxNC0xMzc6NTYiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSIxMzc6MjctMTM3OjU1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjEzNzozNi0xMzc6NTUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIxMzc6NjAtMTM3OjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iMTM3OjY4LTEzNzo3OCIgbmFtZT0iUDFZLS1QMTVZIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxMzg6OS0xMzg6NzkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjEzODoxNC0xMzg6NjEiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMzg6MTQtMTM4OjU2IiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTM4OjI3LTEzODo1NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxMzg6MzYtMTM4OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTM4OjYwLTEzODo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjEzODo2OC0xMzg6NzkiIG5hbWU9IlAxNVktLVA2MFkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjEzOTo5LTEzOTo4MiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTM5OjE0LTEzOTo2MiIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxMzk6MTQtMTM5OjU2IiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTM5OjI3LTEzOTo1NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMzk6MzYtMTM5OjU1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMTM5OjYxLTEzOTo2MiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjEzOTo2OS0xMzk6ODIiIG5hbWU9IlA2MFktLVA5OTk5WSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iMTQwOjE0LTE0MDoxNyIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iMTQ2OjEtMTUxOjciIG5hbWU9IkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIG9mIFBhdGllbnQgU3RyYXRpZmllcgogKi8KZGVmaW5lICZxdW90O0J5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyJnF1b3Q7OgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlIAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmdlbmRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nbWFsZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWFsZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmdlbmRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZmVtYWxlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtGZW1hbGVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3RoZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2OCIgbG9jYXRvcj0iMTQ3OjUtMTUxOjciIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTQ4OjktMTQ4OjQ5Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNDg6MTQtMTQ4OjM2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjE0ODoxNC0xNDg6MjciIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjE0ODoxNC0xNDg6MjAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTciIGxvY2F0b3I9IjE0ODozMS0xNDg6MzYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI1OSIgbG9jYXRvcj0iMTQ4OjQzLTE0ODo0OSIgbmFtZT0iTWFsZXMiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyNjYiIGxvY2F0b3I9IjE0OTo5LTE0OTo1MyI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTQ5OjE0LTE0OTozOCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSIxNDk6MTQtMTQ5OjI3IiBwYXRoPSJnZW5kZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSIxNDk6MTQtMTQ5OjIwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYzIiBsb2NhdG9yPSIxNDk6MzEtMTQ5OjM4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmVtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTQ5OjQ1LTE0OTo1MyIgbmFtZT0iRmVtYWxlcyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSIxNTA6MTQtMTUwOjIwIiBuYW1lPSJPdGhlciIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjE1NjoxLTE1Nzo2MCIgbmFtZT0iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIEJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBvZiBQYXRpZW50IFN0cmF0aWZpZXIKICovCmRlZmluZSAmcXVvdDtCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyJnF1b3Q7OgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZpcnN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQuYWRkcmVzczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2hvbWUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjE1Nzo1LTE1Nzo2MCIgcGF0aD0ic3RhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxNTc6NS0xNTc6NTQiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSIxNTc6MTEtMTU3OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iMTU3OjExLTE1NzoyNyIgYWxpYXM9IkEiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjE1NzoxMS0xNTc6MjUiIHBhdGg9ImFkZHJlc3MiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTU3OjI5LTE1Nzo1MyIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIxNTc6MzUtMTU3OjM5IiBwYXRoPSJ1c2UiIHNjb3BlPSJBIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjE1Nzo0NC0xNTc6NTMiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYWxJZD0iMjc0IiBsb2NhdG9yPSIxNTc6NDYtMTU3OjUxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaG9tZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSIxNjI6MS0xNjc6NSIgbmFtZT0iUGF0aWVudCBEZWNlYXNlZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIEBkYXRhRWxlbWVudCBQYXRpZW50IGlzIGRlY2Vhc2VkCiAqLwpkZWZpbmUgJnF1b3Q7UGF0aWVudCBEZWNlYXNlZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZSAKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRlY2Vhc2VkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGVjZWFzZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuYm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGVjZWFzZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kZWNlYXNlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4gYmVmb3JlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICBlbHNlIGZhbHNlCiAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjE2MzozLTE2Nzo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjE2NDo1LTE2NDo3OSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI4NCIgbG9jYXRvcj0iMTY0OjEwLTE2NDo0MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgyIiBsb2NhdG9yPSIxNjQ6MTAtMTY0OjI1IiBwYXRoPSJkZWNlYXNlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjE2NDoxMC0xNjQ6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjE2NDozMC0xNjQ6NDEiIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODgiIGxvY2F0b3I9IjE2NDo0OC0xNjQ6NzkiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTY0OjQ4LTE2NDo2MyIgcGF0aD0iZGVjZWFzZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjg1IiBsb2NhdG9yPSIxNjQ6NDgtMTY0OjU0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSIxNjQ6NjgtMTY0Ojc5IiBuYW1lPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjE2NTo1LTE2NToxMTYiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjE2NToxMC0xNjU6NDIiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iMTY1OjEwLTE2NToyNSIgcGF0aD0iZGVjZWFzZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSIxNjU6MTAtMTY1OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIxNjU6MzAtMTY1OjQyIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxNjU6NDktMTY1OjExNiIgeHNpOnR5cGU9IkJlZm9yZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNjU6NDktMTY1OjgxIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTUiIGxvY2F0b3I9IjE2NTo0OS0xNjU6NjQiIHBhdGg9ImRlY2Vhc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTY1OjQ5LTE2NTo1NSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTY1OjY5LTE2NTo4MSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjE2NTo5MC0xNjU6MTE2IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNjU6OTctMTY1OjExNiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTY2OjEwLTE2NjoxNCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjE3MjoxLTE3Mzo0OSIgbmFtZT0iUGF0aWVudCBCb3JuIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogUGF0aWVudCB3YXMgYm9ybiBkdXJpbmcgbWVhc3VyZW1lbnQgcGVyaW9kCiAqLwpkZWZpbmUgJnF1b3Q7UGF0aWVudCBCb3JuIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxNzM6NS0xNzM6NDkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjE3Mzo1LTE3MzoyMSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTczOjUtMTczOjExIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxNzM6MzAtMTczOjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjE3ODoxLTE3OTo3NSIgbmFtZT0iUGF0aWVudCBVbmRlciAxMiBNb250aHMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTYiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogUGF0aWVudCBpcyAmbHQ7IDEyIG1vbnRocyBvbGQgYXQgdGhlIGVuZCBvZiB0aGUgbWVhc3VyZW1lbnQgcGVyaW9kCiAqLwpkZWZpbmUgJnF1b3Q7UGF0aWVudCBVbmRlciAxMiBNb250aHMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9yZSB0aGFuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MTIgbW9udGg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGJlZm9yZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxNzk6NS0xNzk6NzUiIHhzaTp0eXBlPSJCZWZvcmUiPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxNzk6NS0xNzk6MjEiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjE3OTo1LTE3OToxMSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3OTo0OS0xNzk6NzUiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTc5OjQ5LTE3OTo3NSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTc5OjU2LTE3OTo3NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxNzk6MzMtMTc5OjQwIiB2YWx1ZT0iMTIiIHVuaXQ9Im1vbnRoIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyMyIgbG9jYXRvcj0iMTg0OjEtMTg1OjczIiBuYW1lPSJQYXRpZW50IFVuZGVyIDIgWWVhcnMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMjMiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogUGF0aWVudCBpcyAmbHQ7IDEyIHllYXJzIG9sZCBhdCB0aGUgZW5kIG9mIHRoZSBtZWFzdXJlbWVudCBwZXJpb2QKICovCmRlZmluZSAmcXVvdDtQYXRpZW50IFVuZGVyIDIgWWVhcnMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9yZSB0aGFuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MiB5ZWFyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBiZWZvcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTg1OjUtMTg1OjczIiB4c2k6dHlwZT0iQmVmb3JlIj4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iMTg1OjUtMTg1OjIxIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSIxODU6NS0xODU6MTEiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxODU6NDctMTg1OjczIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjAiIGxvY2F0b3I9IjE4NTo0Ny0xODU6NzMiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjE4NTo1NC0xODU6NzMiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMSIgbG9jYXRvcj0iMTg1OjMzLTE4NTozOCIgdmFsdWU9IjIiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzUwIiBsb2NhdG9yPSIxOTE6MS0xOTU6NjIiIG5hbWU9IkltbXVuaXphdGlvbnMgd2l0aCBBZHZlcnNlIEV2ZW50cyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzUwIj4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIEBkZWZpbmUgQWR2ZXJzZSBldmVudHMgZm9yIGltbXVuaXphdGlvbnMgd2hpY2ggb2NjdXJyZWQgZHVyaW5nIChvciBvYnNlcnZlZCkgZHVyaW5nIG1lYXN1cmVtZW50IHBlcmlvZAogKi8KZGVmaW5lICZxdW90O0ltbXVuaXphdGlvbnMgd2l0aCBBZHZlcnNlIEV2ZW50cyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7OgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbS4mcXVvdDtEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltPYnNlcnZhdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+V0MuJnF1b3Q7QWR2ZXJzZSBFdmVudHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmV4aXN0czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkkucmVhY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBSPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TcGxpdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5SPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRldGFpbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jy8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVmZmVjdGl2ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQ5IiBsb2NhdG9yPSIxOTI6NS0xOTU6NjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzI1IiBsb2NhdG9yPSIxOTI6NS0xOTI6NDUiIGFsaWFzPSJJIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzI0IiBsb2NhdG9yPSIxOTI6NS0xOTI6NDMiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxOTM6NS0xOTU6NjIiIGFsaWFzPSJPIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMyNiIgbG9jYXRvcj0iMTkzOjEwLTE5Mzo1MSIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxOTM6MzItMTkzOjUwIiBuYW1lPSJBZHZlcnNlIEV2ZW50cyIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMzQ3IiBsb2NhdG9yPSIxOTQ6MTUtMTk1OjYyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxOTQ6MTUtMTk0Ojg0IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM5IiBsb2NhdG9yPSIxOTQ6MjEtMTk0Ojg0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMTk0OjIyLTE5NDozMyIgYWxpYXM9IlIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMjgiIGxvY2F0b3I9IjE5NDoyMi0xOTQ6MzEiIHBhdGg9InJlYWN0aW9uIiBzY29wZT0iSSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzM4IiBsb2NhdG9yPSIxOTQ6MzUtMTk0OjgzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzEiIGxvY2F0b3I9IjE5NDo0MS0xOTQ6NDQiIHBhdGg9ImlkIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM3IiBsb2NhdG9yPSIxOTQ6NDgtMTk0OjgzIiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSIxOTQ6NTMtMTk0OjgyIiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzQiIGxvY2F0b3I9IjE5NDo1OS0xOTQ6NzYiIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjE5NDo1OS0xOTQ6NjYiIHBhdGg9ImRldGFpbCIgc2NvcGU9IlIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhbElkPSIzMzUiIGxvY2F0b3I9IjE5NDo3OS0xOTQ6ODEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxOTU6OS0xOTU6NjIiIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ0IiBsb2NhdG9yPSIxOTU6OS0xOTU6MzQiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQzIiBsb2NhdG9yPSIxOTU6MjMtMTk1OjMzIiBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM0NSIgbG9jYXRvcj0iMTk1OjQzLTE5NTo2MiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDUiIGxvY2F0b3I9IjE5NTo0My0xOTU6NjIiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xvd0Nsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDUiIGxvY2F0b3I9IjE5NTo0My0xOTU6NjIiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxOTU6NDMtMTk1OjYyIiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3NiIgbG9jYXRvcj0iMjAxOjEtMjA1OjY0IiBuYW1lPSJBZHZlcnNlIEV2ZW50IFJlYWN0aW9ucyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzc2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiogCiAqIEBkZWZpbmUgQWR2ZXJzZSBldmVudHMgZm9yIGltbXVuaXphdGlvbnMgd2hpY2ggb2NjdXJyZWQgZHVyaW5nIChvciBvYnNlcnZlZCkgZHVyaW5nIG1lYXN1cmVtZW50IHBlcmlvZAogKi8KZGVmaW5lICZxdW90O0FkdmVyc2UgRXZlbnQgUmVhY3Rpb25zIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltPYnNlcnZhdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+V0MuJnF1b3Q7QWR2ZXJzZSBFdmVudHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tLiZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmV4aXN0czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkkucmVhY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBSPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TcGxpdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5SPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRldGFpbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jy8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZDPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWZmZWN0aXZlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMjAyOjUtMjA1OjY0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM1MiIgbG9jYXRvcj0iMjAyOjUtMjAyOjQ4IiBhbGlhcz0iTyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1MSIgbG9jYXRvcj0iMjAyOjUtMjAyOjQ2IiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIwMjoyNy0yMDI6NDUiIG5hbWU9IkFkdmVyc2UgRXZlbnRzIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMjAzOjUtMjA0Ojg0IiBhbGlhcz0iSSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNTMiIGxvY2F0b3I9IjIwMzoxMC0yMDM6NDgiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iSU1NWkNvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjM2NyIgbG9jYXRvcj0iMjA0OjE1LTIwNDo4NCIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NiIgbG9jYXRvcj0iMjA0OjIxLTIwNDo4NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjIwNDoyMi0yMDQ6MzMiIGFsaWFzPSJSIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzU1IiBsb2NhdG9yPSIyMDQ6MjItMjA0OjMxIiBwYXRoPSJyZWFjdGlvbiIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMjA0OjM1LTIwNDo4MyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU4IiBsb2NhdG9yPSIyMDQ6NDEtMjA0OjQ0IiBwYXRoPSJpZCIgc2NvcGU9Ik8iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NCIgbG9jYXRvcj0iMjA0OjQ4LTIwNDo4MyIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMjA0OjUzLTIwNDo4MiIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYxIiBsb2NhdG9yPSIyMDQ6NTktMjA0Ojc2IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzYwIiBsb2NhdG9yPSIyMDQ6NTktMjA0OjY2IiBwYXRoPSJkZXRhaWwiIHNjb3BlPSJSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIyMDQ6NzktMjA0OjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM3NCIgbG9jYXRvcj0iMjA1OjUtMjA1OjY0IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MiIgbG9jYXRvcj0iMjA1OjExLTIwNTozNiIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjIwNToyNS0yMDU6MzUiIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik8iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzczIiBsb2NhdG9yPSIyMDU6NDUtMjA1OjY0IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgPGxvd0Nsb3NlZEV4cHJlc3Npb24gcGF0aD0ibG93Q2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMjA1OjQ1LTIwNTo2NCIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvbG93Q2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMjA1OjQ1LTIwNTo2NCIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNzMiIGxvY2F0b3I9IjIwNTo0NS0yMDU6NjQiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzg2IiBsb2NhdG9yPSIyMTA6MS0yMTI6NjYiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzODYiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogQGRlZmluZSBEb3NlcyB3aGljaCB3ZXJlIAogKi8KZGVmaW5lICZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tLiZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gIEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODQiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMjExOjUtMjEyOjY2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3OCIgbG9jYXRvcj0iMjExOjUtMjExOjQ2IiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NyIgbG9jYXRvcj0iMjExOjUtMjExOjQzIiBuYW1lPSJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzg0IiBsb2NhdG9yPSIyMTI6NS0yMTI6NjYiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODIiIGxvY2F0b3I9IjIxMjoxMS0yMTI6MzgiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IklNTVpDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MSIgbG9jYXRvcj0iMjEyOjI2LTIxMjozNyIgcGF0aD0ib2NjdXJyZW5jZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODMiIGxvY2F0b3I9IjIxMjo0Ny0yMTI6NjYiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwNiIgbG9jYXRvcj0iMjE5OjEtMjIyOjMxIiBuYW1lPSJHZXRHZW9ncmFwaGljUmVnaW9uRm9ySW1tdW5pemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICA8YTpzPi8qKiAKICogQGZ1bmN0aW9uCiAqIEBwYXJhbSBpbW11bml6YXRpb24gVGhlIGltbXVuaXphdGlvbiByZWNvcmQgZm9yIHdoaWNoIHRoZSBsb2NhdGlvbiBzaG91bGQgYmUgcmV0cmlldmVkCiAqIEByZXR1cm4gRkhJUi5hZGRyZXNzIFRoZSBsb2NhdGlvbiB0aGF0IHRoZSBpbW11bml6YXRpb24gZXZlbnQgb2NjdXJyZWQKICovCmRlZmluZSBmdW5jdGlvbiBHZXRHZW9ncmFwaGljUmVnaW9uRm9ySW1tdW5pemF0aW9uKGltbXVuaXphdGlvbiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICA8YTpzPkltbXVuaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5XQ29tPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9mZmljaWFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0xvY2F0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGFzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlNwbGl0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmltbXVuaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jy8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5MPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFkZHJlc3M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDA1IiBsb2NhdG9yPSIyMjA6NS0yMjI6MzEiIHBhdGg9InN0YXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQwNCIgbG9jYXRvcj0iMjIwOjUtMjIyOjI1IiBuYW1lPSJPZmZpY2lhbCIgbGlicmFyeU5hbWU9IldDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwMyIgbG9jYXRvcj0iMjIwOjE5LTIyMjoyNCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTAiIGxvY2F0b3I9IjIyMDoxOS0yMjA6MzAiIGFsaWFzPSJMIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzg5IiBsb2NhdG9yPSIyMjA6MTktMjIwOjI4IiBkYXRhVHlwZT0iZmhpcjpMb2NhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0xvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIzOTkiIGxvY2F0b3I9IjIyMTo5LTIyMTo3MCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzkyIiBsb2NhdG9yPSIyMjE6MTUtMjIxOjE4IiBwYXRoPSJpZCIgc2NvcGU9IkwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5OCIgbG9jYXRvcj0iMjIxOjIyLTIyMTo3MCIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM5NyIgbG9jYXRvcj0iMjIxOjI3LTIyMTo2OSIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk1IiBsb2NhdG9yPSIyMjE6MzMtMjIxOjYzIiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzk0IiBsb2NhdG9yPSIyMjE6MzMtMjIxOjUzIiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTMiIGxvY2F0b3I9IjIyMTozMy0yMjE6NDQiIG5hbWU9ImltbXVuaXphdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2FsSWQ9IjM5NiIgbG9jYXRvcj0iMjIxOjY2LTIyMTo2OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDAyIiBsb2NhdG9yPSIyMjI6OS0yMjI6MjQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDEiIGxvY2F0b3I9IjIyMjoxNi0yMjI6MjQiIHBhdGg9ImFkZHJlc3MiIHNjb3BlPSJMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaW1tdW5pemF0aW9uIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4NyIgbG9jYXRvcj0iMjE5OjY1LTIxOTo3NiIgbmFtZT0iZmhpcjpJbW11bml6YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiNDA2IiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEltbXVuaXphdGlvbiBDb21tb24gU3RyYXRpZmllcnMgYnkgUGF0aWVudHMgYXMgQ29udGV4dFxuICovXG4iLCJsaWJyYXJ5IElNTVpJbmRpY2F0b3JDb21tb24iIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiSU1NWkluZGljYXRvckNvbW1vbiIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTA6MS0xMDoyOCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZDIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9GSElSQ29tbW9uIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJDb21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiRkMiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMTozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpDb20iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0lNTVpDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOjEtMTI6MzMiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aYyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbmNlcHRzIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpDb25jZXB0cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJJTU1aYyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzoxLTEzOjI5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiV0NvbSIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvV0hPQ29tbW9uIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldIT0NvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJXQ29tIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MjkiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJXQyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvV0hPQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiV0hPQ29uY2VwdHMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiV0MiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAicGFyYW1ldGVycyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjoxLTE2Ojg4IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInBhcmFtZXRlciAiLCJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWw8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEYXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGVmYXVsdCAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiwiQDIwMjAtMDEtMDEiLCIsICIsIkAyMDIwLTEyLTMxIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZGVmYXVsdCIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjo1NS0xNjo4OCIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjY0LTE2Ojc0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGUiLAogICAgICAgICAgICAgICAgICAieWVhciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjAyMCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAibW9udGgiIDogewogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImRheSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Ojc3LTE2Ojg3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGUiLAogICAgICAgICAgICAgICAgICAieWVhciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjAyMCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAibW9udGgiIDogewogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJkYXkiIDogewogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjMxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjozMi0xNjo0NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjQxLTE2OjQ0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVTeXN0ZW1zIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MS0xNTo5MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9vaGllLm9yZy9Db2RlU3lzdGVtL2lzby04NjAxLWRlcml2ZWQtcGVyaW9kcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiwiOiAiLCInaHR0cDovL29oaWUub3JnL0NvZGVTeXN0ZW0vaXNvLTg2MDEtZGVyaXZlZC1wZXJpb2RzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MS01NDo4NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgQ29kZXMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvYWRtaW5pc3RyYXRpdmUtZ2VuZGVyIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1OSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2Rlc1wiIiwiOiAiLCInaHR0cDovL2hsNy5vcmcvZmhpci9hZG1pbmlzdHJhdGl2ZS1nZW5kZXInIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5OjEtMTk6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAiUDBZLS1QMVkiLAogICAgICAgICAgICAiaWQiIDogIlAwWS0tUDFZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjwgMSB5ZWFyIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gQWdlIEdyb3VwcyBmb3IgVmFjY2luZXMgZm9yIGluZmFudHNcbiIsImNvZGUgIiwiXCJQMFktLVAxWVwiIiwiOiAiLCInUDBZLS1QMVknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInPCAxIHllYXInIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk6MzQtMTk6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEtMjA6ODQiLAogICAgICAgICAgICAibmFtZSIgOiAiUDFZLS1QOTk5OVkiLAogICAgICAgICAgICAiaWQiIDogIlAxWS0tUDk5OTlZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIj4gMSB5ZWFyIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlAxWS0tUDk5OTlZXCIiLCI6ICIsIidQMVktLVA5OTk5WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic+IDEgeWVhciciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDo0MC0yMDo2NSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjM6MS0yMzo3OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQMFktLVAyWSIsCiAgICAgICAgICAgICJpZCIgOiAiUDBZLS1QMlkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiPCAyIHllYXJzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gQWdlIEdyb3VwcyBmb3IgVmFjY2luZXMgZm9yIFRvZGRsZXJzXG4iLCJjb2RlICIsIlwiUDBZLS1QMllcIiIsIjogIiwiJ1AwWS0tUDJZJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJzwgMiB5ZWFycyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzozNC0yMzo1OSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6MS0yNDo3NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQMVktLVAyWSIsCiAgICAgICAgICAgICJpZCIgOiAiUDFZLS1QMlkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiMSB5ZWFyIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlAxWS0tUDJZXCIiLCI6ICIsIidQMVktLVAyWSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIicxIHllYXInIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6MzQtMjQ6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjEtMjU6ODUiLAogICAgICAgICAgICAibmFtZSIgOiAiUDJZLS1QOTk5OVkiLAogICAgICAgICAgICAiaWQiIDogIlAyWS0tUDk5OTlZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIj4gMiB5ZWFycyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQMlktLVA5OTk5WVwiIiwiOiAiLCInUDJZLS1QOTk5OVknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInPiAyIHllYXJzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjQwLTI1OjY1IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODoxLTI4Ojk1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBUMEgtLVBUMjRIIiwKICAgICAgICAgICAgImlkIiA6ICJQVDBILS1QVDI0SCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJXaXRoaW4gMjRIIG9mIEJpcnRoIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gQWdlIGdyb3VwcyBmb3IgbmV3Ym9ybnNcbiIsImNvZGUgIiwiXCJQVDBILS1QVDI0SFwiIiwiOiAiLCInUFQwSC0tUFQyNEgnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInV2l0aGluIDI0SCBvZiBCaXJ0aCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODo0MC0yODo2NSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk6MS0yOTo4MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQVDI0SC0tUDJXIiwKICAgICAgICAgICAgImlkIiA6ICJQVDI0SC0tUDJXIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjwgMiBXZWVrcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQVDI0SC0tUDJXXCIiLCI6ICIsIidQVDI0SC0tUDJXJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJzwgMiBXZWVrcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTozOC0yOTo2MyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MS0zMDo4NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQMlctLVA5OTk5WSIsCiAgICAgICAgICAgICJpZCIgOiAiUDJXLS1QOTk5OVkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiPiAyIFdlZWtzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlAyVy0tUDk5OTlZXCIiLCI6ICIsIidQMlctLVA5OTk5WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic+IDIgV2Vla3MnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6NDAtMzA6NjUiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOjEtMzM6NzkiLAogICAgICAgICAgICAibmFtZSIgOiAiUDBZLS1QOVkiLAogICAgICAgICAgICAiaWQiIDogIlAwWS0tUDlZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjwgOSB5ZWFycyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIEFnZSBncm91cHMgZm9yIGFkb2xlc2NlbnRcbiIsImNvZGUgIiwiXCJQMFktLVA5WVwiIiwiOiAiLCInUDBZLS1QOVknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInPCA5IHllYXJzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOjM0LTMzOjU5IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDoxLTM0Ojg0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlA5WS0tUDE0WSIsCiAgICAgICAgICAgICJpZCIgOiAiUDlZLS1QMTRZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjkgLSAxNCB5ZWFycyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQOVktLVAxNFlcIiIsIjogIiwiJ1A5WS0tUDE0WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic5IC0gMTQgeWVhcnMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ6MzYtMzQ6NjEiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjEtMzU6ODgiLAogICAgICAgICAgICAibmFtZSIgOiAiUDE1WS0tUDk5OTlZIiwKICAgICAgICAgICAgImlkIiA6ICJQMTVZLS1QOTk5OVkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiPiAxNSB5ZWFycyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQMTVZLS1QOTk5OVlcIiIsIjogIiwiJ1AxNVktLVA5OTk5WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic+IDE1IHllYXJzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjQyLTM1OjY3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODoxLTM4OjgwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlAwTS0tUDlNIiwKICAgICAgICAgICAgImlkIiA6ICJQME0tLVA5TSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICI8IDkgbW9udGhzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gUkNWIFN0YXJ0aWZpZXJzXG4iLCJjb2RlICIsIlwiUDBNLS1QOU1cIiIsIjogIiwiJ1AwTS0tUDlNJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJzwgOSBtb250aHMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzg6MzQtMzg6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjEtMzk6ODUiLAogICAgICAgICAgICAibmFtZSIgOiAiUDlNLS1QMThNIiwKICAgICAgICAgICAgImlkIiA6ICJQOU0tLVAxOE0iLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiOSAtIDE4IG1vbnRocyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQOU0tLVAxOE1cIiIsIjogIiwiJ1A5TS0tUDE4TSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic5IC0gMTggbW9udGhzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjM2LTM5OjYxIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjk0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlAxOE0tLVAxNVkiLAogICAgICAgICAgICAiaWQiIDogIlAxOE0tLVAxNVkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiMTggbW9udGhzIC0gMTUgeWVhcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiUDE4TS0tUDE1WVwiIiwiOiAiLCInUDE4TS0tUDE1WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIicxOCBtb250aHMgLSAxNSB5ZWFycyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDozOC00MDo2MyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MS00Mzo4MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQME0tLVAxMk0iLAogICAgICAgICAgICAiaWQiIDogIlAwTS0tUDEyTSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICI8IDEyIG1vbnRocyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIFZhcmljZWxsYSBBZ2UgZ3JvdXBzXG4iLCJjb2RlICIsIlwiUDBNLS1QMTJNXCIiLCI6ICIsIidQME0tLVAxMk0nIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInPCAxMiBtb250aHMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MzYtNDM6NjEiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDQ6ODgiLAogICAgICAgICAgICAibmFtZSIgOiAiUDEyTS0tUDE4TSIsCiAgICAgICAgICAgICJpZCIgOiAiUDEyTS0tUDE4TSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICIxMiAtIDE4IG1vbnRocyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQMTJNLS1QMThNXCIiLCI6ICIsIidQMTJNLS1QMThNJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJzEyIC0gMTggbW9udGhzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjM4LTQ0OjYzIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NToxLTQ1Ojg4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlAxOE0tLVAzNk0iLAogICAgICAgICAgICAiaWQiIDogIlAxOE0tLVAzNk0iLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiMTggLSAzNiBtb250aHMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQ4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiUDE4TS0tUDM2TVwiIiwiOiAiLCInUDE4TS0tUDM2TSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIicxOCAtIDM2IG1vbnRocyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NTozOC00NTo2MyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00Njo5NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQMzZNLS1QMTJZIiwKICAgICAgICAgICAgImlkIiA6ICJQMzZNLS1QMTJZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjM2IG1vbnRocyAtIDEyIHllYXJzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZSAiLCJcIlAzNk0tLVAxMllcIiIsIjogIiwiJ1AzNk0tLVAxMlknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQ5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInMzYgbW9udGhzIC0gMTIgeWVhcnMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDkiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MzgtNDY6NjMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEtNDc6ODgiLAogICAgICAgICAgICAibmFtZSIgOiAiUDEyWS0tUDk5OTlZIiwKICAgICAgICAgICAgImlkIiA6ICJQMTJZLS1QOTk5OVkiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiPiAxMiB5ZWFycyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJQMTJZLS1QOTk5OVlcIiIsIjogIiwiJ1AxMlktLVA5OTk5WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIic+IDEyIHllYXJzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjQyLTQ3OjY3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDoxLTUwOjg5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlAxWS0tUDE1WSIsCiAgICAgICAgICAgICJpZCIgOiAiUDFZLS1QMTVZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjEgeWVhciAtIDE1IHllYXJzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gSW5mbHVlbnphIEFnZSBHcm91cHNcbiIsImNvZGUgIiwiXCJQMVktLVAxNVlcIiIsIjogIiwiJ1AxWS0tUDE1WSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIicxIHllYXIgLSAxNSB5ZWFycyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDozNi01MDo2MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6MS01MTo5MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQMTVZLS1QNjBZIiwKICAgICAgICAgICAgImlkIiA6ICJQMTVZLS1QNjBZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIjE1IHllYXJzIC0gNjAgeWVhcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiUDE1WS0tUDYwWVwiIiwiOiAiLCInUDE1WS0tUDYwWSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSVNPLTg2MDEtRGVyaXZlZCBQZXJpb2RzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIicxNSB5ZWFycyAtIDYwIHllYXJzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjM4LTUxOjYzIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIklTTy04NjAxLURlcml2ZWQgUGVyaW9kcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxLTUyOjg4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlA2MFktLVA5OTk5WSIsCiAgICAgICAgICAgICJpZCIgOiAiUDYwWS0tUDk5OTlZIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIj4gNjAgeWVhcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiUDYwWS0tUDk5OTlZXCIiLCI6ICIsIidQNjBZLS1QOTk5OVknIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIklTTy04NjAxLURlcml2ZWQgUGVyaW9kc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInPiA2MCB5ZWFycyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiY29kZVN5c3RlbSIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo0Mi01Mjo2NyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJJU08tODYwMS1EZXJpdmVkIFBlcmlvZHMiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MS01NTo3MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJNYWxlcyIsCiAgICAgICAgICAgICJpZCIgOiAibWFsZSIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJNYWxlcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJNYWxlc1wiIiwiIDogIiwiJ21hbGUnIiwiIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2Rlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgZGlzcGxheSAiLCInTWFsZXMnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MjgtNTU6NTYiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjEtNTY6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAiRmVtYWxlcyIsCiAgICAgICAgICAgICJpZCIgOiAiZmVtYWxlIiwKICAgICAgICAgICAgImRpc3BsYXkiIDogIkZlbWFsZXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjYzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2RlICIsIlwiRmVtYWxlc1wiIiwiIDogIiwiJ2ZlbWFsZSciLCIgZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQWRtaW5pc3RyYXRpdmUgR2VuZGVyIENvZGVzXCIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBkaXNwbGF5ICIsIidGZW1hbGVzJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYyIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjMyLTU2OjYwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NzoxLTU3Ojc2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk90aGVyIiwKICAgICAgICAgICAgImlkIiA6ICJvdGhlciIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJPdGhlci9OQSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGUgIiwiXCJPdGhlclwiIiwiIDogIiwiJ290aGVyJyIsIiBmcm9tICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgQ29kZXNcIiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRpc3BsYXkgIiwiJ090aGVyL05BJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY0IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjI5LTU3OjU3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFkbWluaXN0cmF0aXZlIEdlbmRlciBDb2RlcyIKICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTg6MS01ODoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTg6MS01ODoxNSIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjEtNzA6NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOZXdib3JuIEJ5IEFnZSBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBJbmZhbnQgZGlzYWdncmVnYXRpb25zIGJ5IGFnZVxuICovXG4iLCJkZWZpbmUgIiwiXCJOZXdib3JuIEJ5IEFnZSBTdHJhdGlmaWVyXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5Ib3Vyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjw9IiwiICIsIjI0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUFQwSC0tUFQyNEhcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5XZWVrc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjw9IiwiICIsIjIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQVDI0SC0tUDJXXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluV2Vla3NBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI+IiwiICIsIjIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMlctLVA5OTk5WVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2UgIiwibnVsbCIsIlxuICAgIGVuZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4OCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo1LTcwOjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjktNjY6ODEiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxNC02Njo2MiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MTQtNjY6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJIb3VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoyNy02Njo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjM2LTY2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjYxLTY2OjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6NjktNjY6ODEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUFQwSC0tUFQyNEgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Nzo5LTY3Ojc5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTQtNjc6NjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzc09yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjE0LTY3OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiV2VlayIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MjctNjc6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozNi02Nzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Nzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6NjgtNjc6NzkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUFQyNEgtLVAyVyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjktNjg6NzkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2ODoxNC02ODo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2ODoxNC02ODo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIldlZWsiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjI3LTY4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MzYtNjg6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjY3LTY4Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAyVy0tUDk5OTlZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Q29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY5OjE0LTY5OjE3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NToxLTgwOjciLAogICAgICAgICAgICAibmFtZSIgOiAiSW5mYW50IEJ5IEFnZSBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEwNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogSW5mYW50IGRpc2FnZ3JlZ2F0aW9ucyBieSBhZ2VcbiAqL1xuIiwiZGVmaW5lICIsIlwiSW5mYW50IEJ5IEFnZSBTdHJhdGlmaWVyXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSBcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMFktLVAxWVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPj0iLCIgIiwiMSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMVktLVA5OTk5WVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbHNlICIsIm51bGwiLCJcbiAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjUtODA6NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6OS03Nzo3NiIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjE0LTc3OjYwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjE0LTc3OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6MjctNzc6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzozNi03Nzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6NjctNzc6NzYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDBZLS1QMVkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6OS03ODo4MCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxNC03ODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6MTQtNzg6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJZZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoyNy03ODo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjM2LTc4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjY4LTc4OjgwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAxWS0tUDk5OTlZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Q29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OToxNC03OToxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODU6MS05MTo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXIiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBUb2RkbGVyIEJ5IEFnZSBTdHJhdGlmaWVyc1xuICovXG4iLCJkZWZpbmUgIiwiXCJUb2RkbGVyIEJ5IEFnZSBTdHJhdGlmaWVyXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSBcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDBZLS1QMVlcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5ZZWFyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjwiLCIgIiwiMiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMVktLVAyWVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPj0iLCIgIiwiMiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMlktLVA5OTk5WVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbHNlICIsIm51bGwiLCJcbiAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjUtOTE6NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjktODc6NzYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MTQtODc6NjAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjE0LTg3OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjI3LTg3OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM2LTg3OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjY3LTg3Ojc2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAwWS0tUDFZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjktODg6NzYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MTQtODg6NjAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjE0LTg4OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjI3LTg4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjM2LTg4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjY3LTg4Ojc2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAxWS0tUDJZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjktODk6ODAiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MTQtODk6NjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxNC04OTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIlllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToyNy04OTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozNi04OTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo2OC04OTo4MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMlktLVA5OTk5WSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MTQtOTA6MTciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjEtMTAzOjciLAogICAgICAgICAgICAibmFtZSIgOiAiQWRvbGVzY2VudCBCeSBBZ2UgU3RyYXRpZmllciIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKiBcbiAqIFRvZGRsZXIgQnkgQWdlIFN0cmF0aWZpZXJzXG4gKi9cbiIsImRlZmluZSAiLCJcIkFkb2xlc2NlbnQgQnkgQWdlIFN0cmF0aWZpZXJcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5ZZWFyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjwiLCIgIiwiOSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMFktLVA5WVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPD0iLCIgIiwiMTQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDlZLS1QMTRZXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI+IiwiICIsIjE0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlAxNVktLVA5OTk5WVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICBlbHNlICIsIm51bGwiLCJcbiAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjUtMTAzOjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo5LTk5Ojc2IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjE0LTk5OjYwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OToxNC05OTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIlllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OToyNy05OTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTozNi05OTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo2Ny05OTo3NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMFktLVA5WSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6OS0xMDA6NzkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjE0LTEwMDo2MiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxNC0xMDA6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJZZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjI3LTEwMDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MzYtMTAwOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NjEtMTAwOjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo2OS0xMDA6NzkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDlZLS1QMTRZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMTo5LTEwMTo4MSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6MTQtMTAxOjYxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkdyZWF0ZXIiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6MTQtMTAxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMToyNy0xMDE6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjM2LTEwMTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjYwLTEwMTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6NjgtMTAxOjgxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAxNVktLVA5OTk5WSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjE0LTEwMjoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTA4OjEtMTE1OjciLAogICAgICAgICAgICAibmFtZSIgOiAiUkNWIEJ5IEFnZSBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE4NSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogUkNWIGFnZSBkaXNhZ2dyZWdhdG9yc1xuICovXG4iLCJkZWZpbmUgIiwiXCJSQ1YgQnkgQWdlIFN0cmF0aWZpZXJcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5Nb250aHNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDBNLS1QOU1cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5Nb250aHNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjE4IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlA5TS0tUDE4TVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPCIsIiAiLCIxNSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMThNLS1QMTVZXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluWWVhcnNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI+PSIsIiAiLCIxNSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMTVZLS1QOTk5OVlcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICAgZWxzZSAiLCJudWxsIiwiXG4gICAgZW5kIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6NS0xMTU6NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDo5LTExMDo3NyIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTQtMTEwOjYxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTQtMTEwOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MjgtMTEwOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDozNy0xMTA6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDo2OC0xMTA6NzciLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDBNLS1QOU0iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjktMTExOjc5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMToxNC0xMTE6NjIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMToxNC0xMTE6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMToyOC0xMTE6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjM3LTExMTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjYxLTExMTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6NjktMTExOjc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlA5TS0tUDE4TSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6OS0xMTI6NzkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEyOjE0LTExMjo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEyOjE0LTExMjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIlllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MjctMTEyOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjozNi0xMTI6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjo2MC0xMTI6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEyOjY4LTExMjo3OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMThNLS1QMTVZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo5LTExMzo4MiIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTM6MTQtMTEzOjYyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkdyZWF0ZXJPckVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjE0LTExMzo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIlllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTM6MjctMTEzOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzozNi0xMTM6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzo2MS0xMTM6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEzOjY5LTExMzo4MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMTVZLS1QOTk5OVkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Db2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoxNC0xMTQ6MTciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDoxLTEyODo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlZhcmljZWxsYSBCeSBBZ2UgU3RyYXRpZmllciIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKiBcbiAqIFZhcmljZWxsYSBhZ2UgZGlzYWdncmVnYXRvcnNcbiAqL1xuIiwiZGVmaW5lICIsIlwiVmFyaWNlbGxhIEJ5IEFnZSBTdHJhdGlmaWVyXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSBcbiAgICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFnZUluTW9udGhzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPCIsIiAiLCIxMiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQME0tLVAxMk1cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5Nb250aHNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjE4IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlAxMk0tLVAxOE1cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5Nb250aHNBdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzdGFydCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI8IiwiICIsIjM2IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIlAxOE0tLVAzNk1cIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5ZZWFyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjwiLCIgIiwiMTIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDM2TS0tUDEyWVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPj0iLCIgIiwiMTIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDEyWS0tUDk5OTlZXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2UgIiwibnVsbCIsIlxuICAgIGVuZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjUtMTI4OjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6OS0xMjI6NzkiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjE0LTEyMjo2MiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjE0LTEyMjo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIk1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjI4LTEyMjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6MzctMTIyOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6NjEtMTIyOjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo2OS0xMjI6NzkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDBNLS1QMTJNIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzo5LTEyMzo4MCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6MTQtMTIzOjYyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6MTQtMTIzOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6MjgtMTIzOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzozNy0xMjM6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzo2MS0xMjM6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjY5LTEyMzo4MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMTJNLS1QMThNIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDo5LTEyNDo4MCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MTQtMTI0OjYyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MTQtMTI0OjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MjgtMTI0OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDozNy0xMjQ6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDo2MS0xMjQ6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjY5LTEyNDo4MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQMThNLS1QMzZNIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEzIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNTo5LTEyNTo3OSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6MTQtMTI1OjYxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6MTQtMTI1OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNToyNy0xMjU6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI1OjM2LTEyNTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI1OjYwLTEyNTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6NjgtMTI1Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAzNk0tLVAxMlkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjktMTI2OjgyIiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjoxNC0xMjY6NjIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6MTQtMTI2OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjoyNy0xMjY6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjM2LTEyNjo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjYxLTEyNjo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6NjktMTI2OjgyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAxMlktLVA5OTk5WSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI3OjE0LTEyNzoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjEtMTQxOjciLAogICAgICAgICAgICAibmFtZSIgOiAiU2Vhc29uYWwgSW5mbHVlbnphIEJ5IEFnZSBTdHJhdGlmaWVyIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogU2Vhc29uYWwgSW5mbHVlbnphIGFnZSBkaXNhZ2dyZWdhdG9yc1xuICovXG4iLCJkZWZpbmUgIiwiXCJTZWFzb25hbCBJbmZsdWVuemEgQnkgQWdlIFN0cmF0aWZpZXJcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5ZZWFyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjwiLCIgIiwiMSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMFktLVAxWVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPCIsIiAiLCIxNSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJQMVktLVAxNVlcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWdlSW5ZZWFyc0F0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXJ0IG9mICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIjwiLCIgIiwiNjAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDE1WS0tUDYwWVwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJBZ2VJblllYXJzQXQiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPj0iLCIgIiwiNjAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiUDYwWS0tUDk5OTlZXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2UgIiwibnVsbCIsIlxuICAgIGVuZCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjUtMTQxOjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6OS0xMzY6NzYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjE0LTEzNjo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMZXNzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjE0LTEzNjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIlllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FsY3VsYXRlQWdlQXQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZS52YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6MjctMTM2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozNi0xMzY6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjo2Ny0xMzY6NzYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDBZLS1QMVkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjktMTM3Ojc4IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNzoxNC0xMzc6NjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGVzcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNzoxNC0xMzc6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJZZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhbGN1bGF0ZUFnZUF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJiaXJ0aERhdGUudmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjI3LTEzNzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MzYtMTM3OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6NjAtMTM3OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNzo2OC0xMzc6NzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUDFZLS1QMTVZIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODo5LTEzODo3OSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6MTQtMTM4OjYxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxlc3MiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6MTQtMTM4OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoyNy0xMzg6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjM2LTEzODo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjYwLTEzODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6NjgtMTM4Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlAxNVktLVA2MFkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjktMTM5OjgyIiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOToxNC0xMzk6NjIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzk6MTQtMTM5OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiWWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYWxjdWxhdGVBZ2VBdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlLnZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOToyNy0xMzk6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjM2LTEzOTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjYxLTEzOTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzk6NjktMTM5OjgyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlA2MFktLVA5OTk5WSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2RlUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUNvZGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjE0LTE0MDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ2OjEtMTUxOjciLAogICAgICAgICAgICAibmFtZSIgOiAiQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBvZiBQYXRpZW50IFN0cmF0aWZpZXJcbiAqL1xuIiwiZGVmaW5lICIsIlwiQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXJcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXNlIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZ2VuZGVyIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ21hbGUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNYWxlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJnZW5kZXIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInZmVtYWxlJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB0aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiRmVtYWxlc1wiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgIGVsc2UgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJPdGhlclwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY4IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Nzo1LTE1MTo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ4OjktMTQ4OjQ5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoxNC0xNDg6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoxNC0xNDg6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ4OjE0LTE0ODoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MzEtMTQ4OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1hbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6NDMtMTQ4OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OTo5LTE0OTo1MyIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6MTQtMTQ5OjM4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6MTQtMTQ5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OToxNC0xNDk6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ5OjMxLTE0OTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmZW1hbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6NDUtMTQ5OjUzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZlbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTQtMTUwOjIwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk90aGVyIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU2OjEtMTU3OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjgwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIEJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBvZiBQYXRpZW50IFN0cmF0aWZpZXJcbiAqL1xuIiwiZGVmaW5lICIsIlwiQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllclwiIiwiOlxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRmlyc3QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIsIi4iLCJhZGRyZXNzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1c2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAieyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaG9tZSciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB9IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NS0xNTc6NjAiLAogICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdGUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NS0xNTc6NTQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MTEtMTU3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MTEtMTU3OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJBIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzoxMS0xNTc6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYWRkcmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MjktMTU3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MzUtMTU3OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NDQtMTU3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NDYtMTU3OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImhvbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6MS0xNjc6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IERlY2Vhc2VkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzA0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBAZGF0YUVsZW1lbnQgUGF0aWVudCBpcyBkZWNlYXNlZFxuICovXG4iLCJkZWZpbmUgIiwiXCJQYXRpZW50IERlY2Vhc2VkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiY2FzZSBcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGVjZWFzZWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgaXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJib29sZWFuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHRoZW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkZWNlYXNlZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBhcyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiwiLiIsImJvb2xlYW4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRlY2Vhc2VkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGlzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiZGF0ZVRpbWUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdGhlbiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQYXRpZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGVjZWFzZWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJkYXRlVGltZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiYmVmb3JlIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVuZCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgZWxzZSAiLCJmYWxzZSIsIlxuICBlbmQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MzozLTE2Nzo1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY0OjUtMTY0Ojc5IiwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDoxMC0xNjQ6NDEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY0OjEwLTE2NDoyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkZWNlYXNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDoxMC0xNjQ6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDozMC0xNjQ6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDo0OC0xNjQ6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY0OjQ4LTE2NDo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkZWNlYXNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDo0OC0xNjQ6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDo2OC0xNjQ6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAxIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1LTE2NToxMTYiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1OjEwLTE2NTo0MiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6MTAtMTY1OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRlY2Vhc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1OjEwLTE2NToxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1OjMwLTE2NTo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo0OS0xNjU6MTE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkJlZm9yZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NDktMTY1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo0OS0xNjU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGVjZWFzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NDktMTY1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NjktMTY1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6OTAtMTY1OjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1Ojk3LTE2NToxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzAyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NjoxMC0xNjY6MTQiLAogICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTcyOjEtMTczOjQ5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgQm9ybiBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMwOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogUGF0aWVudCB3YXMgYm9ybiBkdXJpbmcgbWVhc3VyZW1lbnQgcGVyaW9kXG4gKi9cbiIsImRlZmluZSAiLCJcIlBhdGllbnQgQm9ybiBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMwOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiaXJ0aERhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImR1cmluZyIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjUtMTczOjQ5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMDYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjUtMTczOjIxIiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3Mzo1LTE3MzoxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMwNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6MzAtMTczOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MS0xNzk6NzUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBVbmRlciAxMiBNb250aHMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBQYXRpZW50IGlzIDwgMTIgbW9udGhzIG9sZCBhdCB0aGUgZW5kIG9mIHRoZSBtZWFzdXJlbWVudCBwZXJpb2RcbiAqL1xuIiwiZGVmaW5lICIsIlwiUGF0aWVudCBVbmRlciAxMiBNb250aHMgT2xkIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUGF0aWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImJpcnRoRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJtb3JlIHRoYW4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiMTIgIiwibW9udGgiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBiZWZvcmUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbmQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6NS0xNzk6NzUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQmVmb3JlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjUtMTc5OjIxIiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OTo1LTE3OToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OTo0OS0xNzk6NzUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6NDktMTc5Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6NTYtMTc5Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OTozMy0xNzk6NDAiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMTIsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODQ6MS0xODU6NzMiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBVbmRlciAyIFllYXJzIE9sZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMyMyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogUGF0aWVudCBpcyA8IDEyIHllYXJzIG9sZCBhdCB0aGUgZW5kIG9mIHRoZSBtZWFzdXJlbWVudCBwZXJpb2RcbiAqL1xuIiwiZGVmaW5lICIsIlwiUGF0aWVudCBVbmRlciAyIFllYXJzIE9sZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kXCIiLCI6XG4gICAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJiaXJ0aERhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibW9yZSB0aGFuICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIjIgIiwieWVhciIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGJlZm9yZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVuZCBvZiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIyIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NTo1LTE4NTo3MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJCZWZvcmUiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMxOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODU6NS0xODU6MjEiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYmlydGhEYXRlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMTciLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg1OjUtMTg1OjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg1OjQ3LTE4NTo3MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NTo0Ny0xODU6NzMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NTo1NC0xODU6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg1OjMzLTE4NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6MS0xOTU6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiSW1tdW5pemF0aW9ucyB3aXRoIEFkdmVyc2UgRXZlbnRzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzUwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBAZGVmaW5lIEFkdmVyc2UgZXZlbnRzIGZvciBpbW11bml6YXRpb25zIHdoaWNoIG9jY3VycmVkIGR1cmluZyAob3Igb2JzZXJ2ZWQpIGR1cmluZyBtZWFzdXJlbWVudCBwZXJpb2RcbiAqL1xuIiwiZGVmaW5lICIsIlwiSW1tdW5pemF0aW9ucyB3aXRoIEFkdmVyc2UgRXZlbnRzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQ5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiwiLiIsIlwiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2l0aCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk9ic2VydmF0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJpbiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldDIiwiLiIsIlwiQWR2ZXJzZSBFdmVudHNcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICBzdWNoIHRoYXQgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIsIi4iLCJyZWFjdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJSIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaWQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlNwbGl0IiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJSIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZGV0YWlsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJlZmVyZW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJy8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgYW5kICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvSW50ZXJ2YWwiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZWZmZWN0aXZlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiZHVyaW5nIiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiTWVhc3VyZW1lbnQgUGVyaW9kXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTI6NS0xOTU6NjIiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Mjo1LTE5Mjo0NSIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjMyNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTI6NS0xOTI6NDMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjUtMTk1OjYyIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIldpdGgiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjEwLTE5Mzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjMyLTE5Mzo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBZHZlcnNlIEV2ZW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiV0MiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInN1Y2hUaGF0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTQ6MTUtMTk1OjYyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoxNS0xOTQ6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoyMS0xOTQ6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoyMi0xOTQ6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0OjIyLTE5NDozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWFjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDozNS0xOTQ6ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo0MS0xOTQ6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0OjQ4LTE5NDo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMYXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0OjUzLTE5NDo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo1OS0xOTQ6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk0OjU5LTE5NDo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkZXRhaWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDo3OS0xOTQ6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjktMTk1OjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluY2x1ZGVkSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6OS0xOTU6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9JbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6MjMtMTk1OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImVmZmVjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjQzLTE5NTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZEV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG93Q2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjQzLTE5NTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTk1OjQzLTE5NTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhpZ2hDbG9zZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTU6NDMtMTk1OjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMzc2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMToxLTIwNTo2NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBZHZlcnNlIEV2ZW50IFJlYWN0aW9ucyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM3NiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogQGRlZmluZSBBZHZlcnNlIGV2ZW50cyBmb3IgaW1tdW5pemF0aW9ucyB3aGljaCBvY2N1cnJlZCBkdXJpbmcgKG9yIG9ic2VydmVkKSBkdXJpbmcgbWVhc3VyZW1lbnQgcGVyaW9kXG4gKi9cbiIsImRlZmluZSAiLCJcIkFkdmVyc2UgRXZlbnQgUmVhY3Rpb25zIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk9ic2VydmF0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJpbiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldDIiwiLiIsIlwiQWR2ZXJzZSBFdmVudHNcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2l0aCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiwiLiIsIlwiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJJIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICBzdWNoIHRoYXQgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZXhpc3RzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkkiLCIuIiwicmVhY3Rpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiUiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGFzdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTcGxpdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRldGFpbCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZWZlcmVuY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIicvJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJUb0ludGVydmFsIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVmZmVjdGl2ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImR1cmluZyIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3NSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDI6NS0yMDU6NjQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMjo1LTIwMjo0OCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDI6NS0yMDI6NDYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMjoyNy0yMDI6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWR2ZXJzZSBFdmVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIldDIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMzo1LTIwNDo4NCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJXaXRoIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMzoxMC0yMDM6NDgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpDb20iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInN1Y2hUaGF0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6MTUtMjA0Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6MjEtMjA0Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6MjItMjA0OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDoyMi0yMDQ6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVhY3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6MzUtMjA0OjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6NDEtMjA0OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDo0OC0yMDQ6ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDo1My0yMDQ6ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6NTktMjA0Ojc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDo1OS0yMDQ6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGV0YWlsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6NzktMjA0OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjUtMjA1OjY0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluY2x1ZGVkSW4iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6MTEtMjA1OjM2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZDIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjI1LTIwNTozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJlZmZlY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTo0NS0yMDU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWRFeHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvd0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTo0NS0yMDU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTo0NS0yMDU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkRXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoQ2xvc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjQ1LTIwNTo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjEtMjEyOjY2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMzg2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiogXG4gKiBAZGVmaW5lIERvc2VzIHdoaWNoIHdlcmUgXG4gKi9cbiIsImRlZmluZSAiLCJcIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg1IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzNzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiwiLiIsIlwiRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnRcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAgIiwiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODQiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiVG9EYXRlIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm9jY3VycmVuY2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJkdXJpbmciLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODUiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjUtMjEyOjY2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTE6NS0yMTE6NDYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNzciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjUtMjExOjQzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aQ29tIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6NS0yMTI6NjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6MTEtMjEyOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWkNvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6MjYtMjEyOjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm9jY3VycmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM4MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTI6NDctMjEyOjY2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOToxLTIyMjozMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJHZXRHZW9ncmFwaGljUmVnaW9uRm9ySW1tdW5pemF0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQwNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqIFxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0gaW1tdW5pemF0aW9uIFRoZSBpbW11bml6YXRpb24gcmVjb3JkIGZvciB3aGljaCB0aGUgbG9jYXRpb24gc2hvdWxkIGJlIHJldHJpZXZlZFxuICogQHJldHVybiBGSElSLmFkZHJlc3MgVGhlIGxvY2F0aW9uIHRoYXQgdGhlIGltbXVuaXphdGlvbiBldmVudCBvY2N1cnJlZFxuICovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiR2V0R2VvZ3JhcGhpY1JlZ2lvbkZvckltbXVuaXphdGlvbiIsIigiLCJpbW11bml6YXRpb24iLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW1tdW5pemF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAgICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldDb20iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPZmZpY2lhbCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIkxvY2F0aW9uIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJMIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIFxuICAgICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGFzdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTcGxpdCIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaW1tdW5pemF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibG9jYXRpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmVmZXJlbmNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJldHVybiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhZGRyZXNzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0MDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInN0YXRlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDo1LTIyMjozMSIsCiAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDA0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDo1LTIyMjoyNSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPZmZpY2lhbCIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiV0NvbSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDoxOS0yMjI6MjQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMDoxOS0yMjA6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkwiLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIwOjE5LTIyMDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TG9jYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0xvY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOTkiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIxOjktMjIxOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjE6MTUtMjIxOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJMIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMToyMi0yMjE6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMToyNy0yMjE6NjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjE6MzMtMjIxOjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMTozMy0yMjE6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibG9jYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjE6MzMtMjIxOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMTo2Ni0yMjE6NjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMjo5LTIyMjoyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6MTYtMjIyOjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFkZHJlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzODciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjY1LTIxOTo3NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1JbW11bml6YXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary-2.json new file mode 100644 index 0000000000..ce9bf827e2 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary-2.json @@ -0,0 +1,299 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "13", + "s" : [ { + "value" : [ "","library IMMZVaccineLibrary" ] + } ] + } + } ], + "identifier" : { + "id" : "IMMZVaccineLibrary", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "2:1-2:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "4:1-4:29", + "localIdentifier" : "WCom", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOCommon" ] + } ] + }, { + "value" : [ " called ","WCom" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "5:1-5:31", + "localIdentifier" : "Wcon", + "path" : "http://smart.who.int/smart-immunizations-measles/WHOConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "WHOConcepts" ] + } ] + }, { + "value" : [ " called ","Wcon" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "6:1-6:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "7:1-7:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "8:1-8:33", + "localIdentifier" : "IMMZc", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZConcepts", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZConcepts" ] + } ] + }, { + "value" : [ " called ","IMMZc" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "9:1-9:33", + "localIdentifier" : "IMMZcom", + "path" : "http://smart.who.int/smart-immunizations-measles/IMMZCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "IMMZCommon" ] + } ] + }, { + "value" : [ " called ","IMMZcom" ] + } ] + } + } ] + } ] + }, + "statements" : { + "def" : [ { + "localId" : "9", + "locator" : "11:1-12:16", + "name" : "Get Medication", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "","define ","\"Get Medication\"",":\n " ] + }, { + "r" : "8", + "s" : [ { + "value" : [ "[","Medication","]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "8", + "locator" : "12:5-12:16", + "dataType" : "{http://hl7.org/fhir}Medication", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Medication", + "type" : "Retrieve" + } + }, { + "localId" : "11", + "locator" : "14:1-15:43", + "name" : "BCG Vaccine Codes", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "11", + "s" : [ { + "value" : [ "","define ","\"BCG Vaccine Codes\"",":\n " ] + }, { + "r" : "10", + "s" : [ { + "value" : [ "[","Medication",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","in"," " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"BCG Vaccine\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "10", + "locator" : "15:3-15:43", + "dataType" : "{http://hl7.org/fhir}Medication", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Medication", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "15:24-15:42", + "name" : "BCG Vaccine", + "libraryName" : "IMMZc", + "type" : "ValueSetRef" + } + } + }, { + "localId" : "13", + "locator" : "23:1-24:47", + "name" : "Cholera Vaccine Codes", + "context" : "Patient", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "13", + "s" : [ { + "value" : [ "/*check BCG Vaccine code valueset generated from DataDictionary Library in order to confirm that the that any of those codes exist in a Medication Resources\n 1. check for Medication Resource\n 2. Check if Medication Resource has BCG Vaccine code from list\n 3. Import that code into ActivityDefinition as defined by dynamicValue\n */\n","define ","\"Cholera Vaccine Codes\"",":\n " ] + }, { + "r" : "12", + "s" : [ { + "value" : [ "[","Medication",": " ] + }, { + "s" : [ { + "value" : [ "code" ] + } ] + }, { + "value" : [ " ","in"," " ] + }, { + "s" : [ { + "value" : [ "IMMZc",".","\"Cholera Vaccine\"" ] + } ] + }, { + "value" : [ "]" ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "12", + "locator" : "24:3-24:47", + "dataType" : "{http://hl7.org/fhir}Medication", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Medication", + "codeProperty" : "code", + "codeComparator" : "in", + "type" : "Retrieve", + "codes" : { + "locator" : "24:24-24:46", + "name" : "Cholera Vaccine", + "libraryName" : "IMMZc", + "type" : "ValueSetRef" + } + } + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary.json new file mode 100644 index 0000000000..f9b5c6f73b --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-IMMZVaccineLibrary.json @@ -0,0 +1,115 @@ +{ + "resourceType" : "Library", + "id" : "IMMZVaccineLibrary", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onWHOCommon
depends-onWHOConcepts
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onFHIRCommon
depends-onIMMZConcepts
depends-onIMMZCommon

Parameters

Get Medicationout0*Medication
BCG Vaccine Codesout0*Medication
Cholera Vaccine Codesout0*Medication

Data Requirements

Type: Medication (Medication)
Type: Medication (Medication)
FilterValue
codeIn ValueSet http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1
Type: Medication (Medication)
FilterValue
codeIn ValueSet http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2

Contents

text/cql

library IMMZVaccineLibrary\r\nusing FHIR version '4.0.1'\r\n\r\ninclude WHOCommon called WCom\r\ninclude WHOConcepts called Wcon\r\ninclude FHIRHelpers version '4.0.1'\r\ninclude FHIRCommon called FC\r\ninclude IMMZConcepts called IMMZc\r\ninclude IMMZCommon called IMMZcom\r\n\r\ndefine "Get Medication":\r\n    [Medication]\r\n\r\ndefine "BCG Vaccine Codes":\r\n  [Medication: code in IMMZc."BCG Vaccine"]\r\n  \r\n\r\n    /*check BCG Vaccine code valueset generated from DataDictionary Library in order to confirm that the that any of those codes exist in a Medication Resources\r\n    1. check for Medication Resource\r\n    2. Check if Medication Resource has BCG Vaccine code from list\r\n    3. Import that code into ActivityDefinition as defined by dynamicValue\r\n    */\r\ndefine "Cholera Vaccine Codes":\r\n  [Medication: code in IMMZc."Cholera Vaccine"]

Content not shown - (application/elm+xml, size = 6Kb)

Content not shown - (application/elm+json, size = 10Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZVaccineLibrary", + "version" : "0.1.0", + "name" : "IMMZVaccineLibrary", + "title" : "IMMZVaccineLibrary", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines logic and mappings for the use of vaccines in the Immunization CPG", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/WHOConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZConcepts" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/IMMZCommon" + }], + "parameter" : [{ + "name" : "Get Medication", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Medication" + }, + { + "name" : "BCG Vaccine Codes", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Medication" + }, + { + "name" : "Cholera Vaccine Codes", + "use" : "out", + "min" : 0, + "max" : "*", + "type" : "Medication" + }], + "dataRequirement" : [{ + "type" : "Medication", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Medication"] + }, + { + "type" : "Medication", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Medication"], + "codeFilter" : [{ + "path" : "code", + "valueSet" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE1" + }] + }, + { + "type" : "Medication", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Medication"], + "codeFilter" : [{ + "path" : "code", + "valueSet" : "http://smart.who.int/smart-immunizations-measles/ValueSet/IMMZ.A1.DE2" + }] + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBJTU1aVmFjY2luZUxpYnJhcnkNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tDQppbmNsdWRlIFdIT0NvbmNlcHRzIGNhbGxlZCBXY29uDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJw0KaW5jbHVkZSBGSElSQ29tbW9uIGNhbGxlZCBGQw0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIElNTVpjb20NCg0KZGVmaW5lICJHZXQgTWVkaWNhdGlvbiI6DQogICAgW01lZGljYXRpb25dDQoNCmRlZmluZSAiQkNHIFZhY2NpbmUgQ29kZXMiOg0KICBbTWVkaWNhdGlvbjogY29kZSBpbiBJTU1aYy4iQkNHIFZhY2NpbmUiXQ0KICANCg0KICAgIC8qY2hlY2sgQkNHIFZhY2NpbmUgY29kZSB2YWx1ZXNldCBnZW5lcmF0ZWQgZnJvbSBEYXRhRGljdGlvbmFyeSBMaWJyYXJ5IGluIG9yZGVyIHRvIGNvbmZpcm0gdGhhdCB0aGUgdGhhdCBhbnkgb2YgdGhvc2UgY29kZXMgZXhpc3QgaW4gYSBNZWRpY2F0aW9uIFJlc291cmNlcw0KICAgIDEuIGNoZWNrIGZvciBNZWRpY2F0aW9uIFJlc291cmNlDQogICAgMi4gQ2hlY2sgaWYgTWVkaWNhdGlvbiBSZXNvdXJjZSBoYXMgQkNHIFZhY2NpbmUgY29kZSBmcm9tIGxpc3QNCiAgICAzLiBJbXBvcnQgdGhhdCBjb2RlIGludG8gQWN0aXZpdHlEZWZpbml0aW9uIGFzIGRlZmluZWQgYnkgZHluYW1pY1ZhbHVlDQogICAgKi8NCmRlZmluZSAiQ2hvbGVyYSBWYWNjaW5lIENvZGVzIjoNCiAgW01lZGljYXRpb246IGNvZGUgaW4gSU1NWmMuIkNob2xlcmEgVmFjY2luZSJd" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICA8YTpzPmxpYnJhcnkgSU1NWlZhY2NpbmVMaWJyYXJ5PC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aVmFjY2luZUxpYnJhcnkiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iMjoxLTI6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI0OjEtNDoyOSIgbG9jYWxJZGVudGlmaWVyPSJXQ29tIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvV0hPQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5XSE9Db21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXQ29tPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjU6MS01OjMxIiBsb2NhbElkZW50aWZpZXI9Ildjb24iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXY29uPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjY6MS02OjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijc6MS03OjI4IiBsb2NhbElkZW50aWZpZXI9IkZDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvRkhJUkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEZDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9Ijg6MS04OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpjIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1aYzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSI5OjEtOTozMyIgbG9jYWxJZGVudGlmaWVyPSJJTU1aY29tIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpjb208L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjExOjEtMTI6MTYiIG5hbWU9IkdldCBNZWRpY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0dldCBNZWRpY2F0aW9uJnF1b3Q7OgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4IiBsb2NhdG9yPSIxMjo1LTEyOjE2IiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIxNDoxLTE1OjQzIiBuYW1lPSJCQ0cgVmFjY2luZSBDb2RlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QkNHIFZhY2NpbmUgQ29kZXMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYy4mcXVvdDtCQ0cgVmFjY2luZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMCIgbG9jYXRvcj0iMTU6My0xNTo0MyIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTU6MjQtMTU6NDIiIG5hbWU9IkJDRyBWYWNjaW5lIiBsaWJyYXJ5TmFtZT0iSU1NWmMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyMzoxLTI0OjQ3IiBuYW1lPSJDaG9sZXJhIFZhY2NpbmUgQ29kZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgIDxhOnM+LypjaGVjayBCQ0cgVmFjY2luZSBjb2RlIHZhbHVlc2V0IGdlbmVyYXRlZCBmcm9tIERhdGFEaWN0aW9uYXJ5IExpYnJhcnkgaW4gb3JkZXIgdG8gY29uZmlybSB0aGF0IHRoZSB0aGF0IGFueSBvZiB0aG9zZSBjb2RlcyBleGlzdCBpbiBhIE1lZGljYXRpb24gUmVzb3VyY2VzCiAgICAxLiBjaGVjayBmb3IgTWVkaWNhdGlvbiBSZXNvdXJjZQogICAgMi4gQ2hlY2sgaWYgTWVkaWNhdGlvbiBSZXNvdXJjZSBoYXMgQkNHIFZhY2NpbmUgY29kZSBmcm9tIGxpc3QKICAgIDMuIEltcG9ydCB0aGF0IGNvZGUgaW50byBBY3Rpdml0eURlZmluaXRpb24gYXMgZGVmaW5lZCBieSBkeW5hbWljVmFsdWUKICAgICovCmRlZmluZSAmcXVvdDtDaG9sZXJhIFZhY2NpbmUgQ29kZXMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aYy4mcXVvdDtDaG9sZXJhIFZhY2NpbmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjI0OjMtMjQ6NDciIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjI0OjI0LTI0OjQ2IiBuYW1lPSJDaG9sZXJhIFZhY2NpbmUiIGxpYnJhcnlOYW1lPSJJTU1aYyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMTMiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImxpYnJhcnkgSU1NWlZhY2NpbmVMaWJyYXJ5IiBdCiAgICAgICAgICAgIH0gXQogICAgICAgICB9CiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIklNTVpWYWNjaW5lTGlicmFyeSIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOjEtMjoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidXNpbmcgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDoxLTQ6MjkiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJXQ29tIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiV0hPQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIldDb20iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6MzEiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJXY29uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9XSE9Db25jZXB0cyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJXSE9Db25jZXB0cyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJXY29uIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjM1IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjI4IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJGQyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OjEtODozMyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpjIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9JTU1aQ29uY2VwdHMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSU1NWkNvbmNlcHRzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWmNvbSIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMvSU1NWkNvbW1vbiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJTU1aQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIklNTVpjb20iIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTI6MTYiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0IE1lZGljYXRpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlwiR2V0IE1lZGljYXRpb25cIiIsIjpcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiWyIsIk1lZGljYXRpb24iLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6NS0xMjoxNiIsCiAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDoxLTE1OjQzIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJDRyBWYWNjaW5lIENvZGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiXCJCQ0cgVmFjY2luZSBDb2Rlc1wiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJNZWRpY2F0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJpbiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiwiLiIsIlwiQkNHIFZhY2NpbmVcIiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTozLTE1OjQzIiwKICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MjQtMTU6NDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQkNHIFZhY2NpbmUiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIklNTVpjIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjM6MS0yNDo0NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDaG9sZXJhIFZhY2NpbmUgQ29kZXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qY2hlY2sgQkNHIFZhY2NpbmUgY29kZSB2YWx1ZXNldCBnZW5lcmF0ZWQgZnJvbSBEYXRhRGljdGlvbmFyeSBMaWJyYXJ5IGluIG9yZGVyIHRvIGNvbmZpcm0gdGhhdCB0aGUgdGhhdCBhbnkgb2YgdGhvc2UgY29kZXMgZXhpc3QgaW4gYSBNZWRpY2F0aW9uIFJlc291cmNlc1xuICAgIDEuIGNoZWNrIGZvciBNZWRpY2F0aW9uIFJlc291cmNlXG4gICAgMi4gQ2hlY2sgaWYgTWVkaWNhdGlvbiBSZXNvdXJjZSBoYXMgQkNHIFZhY2NpbmUgY29kZSBmcm9tIGxpc3RcbiAgICAzLiBJbXBvcnQgdGhhdCBjb2RlIGludG8gQWN0aXZpdHlEZWZpbml0aW9uIGFzIGRlZmluZWQgYnkgZHluYW1pY1ZhbHVlXG4gICAgKi9cbiIsImRlZmluZSAiLCJcIkNob2xlcmEgVmFjY2luZSBDb2Rlc1wiIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlsiLCJNZWRpY2F0aW9uIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJpbiIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIklNTVpjIiwiLiIsIlwiQ2hvbGVyYSBWYWNjaW5lXCIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIl0iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6My0yNDo0NyIsCiAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OjI0LTI0OjQ2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNob2xlcmEgVmFjY2luZSIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSU1NWmMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon-2.json new file mode 100644 index 0000000000..04f9da62a1 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon-2.json @@ -0,0 +1,3512 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "258", + "s" : [ { + "value" : [ "","library WHOCommon" ] + } ] + } + } ], + "identifier" : { + "id" : "WHOCommon", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + }, { + "localId" : "1", + "locator" : "3:1-3:26", + "localIdentifier" : "FHIR", + "uri" : "http://hl7.org/fhir", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "","using " ] + }, { + "s" : [ { + "value" : [ "FHIR" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + } ] + }, + "includes" : { + "def" : [ { + "localId" : "2", + "locator" : "5:1-5:35", + "localIdentifier" : "FHIRHelpers", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRHelpers", + "version" : "4.0.1", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRHelpers" ] + } ] + }, { + "value" : [ " version ","'4.0.1'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "7:1-7:28", + "localIdentifier" : "FC", + "path" : "http://smart.who.int/smart-immunizations-measles/FHIRCommon", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","include " ] + }, { + "s" : [ { + "value" : [ "FHIRCommon" ] + } ] + }, { + "value" : [ " called ","FC" ] + } ] + } + } ] + } ] + }, + "statements" : { + "def" : [ { + "locator" : "9:1-9:15", + "name" : "Patient", + "context" : "Patient", + "expression" : { + "type" : "SingletonFrom", + "operand" : { + "locator" : "9:1-9:15", + "dataType" : "{http://hl7.org/fhir}Patient", + "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient", + "type" : "Retrieve" + } + } + }, { + "localId" : "14", + "locator" : "11:1-12:57", + "name" : "Official", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "14", + "s" : [ { + "value" : [ "","define function ","Official","(","identifiers"," " ] + }, { + "r" : "5", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "4", + "s" : [ { + "value" : [ "Identifier" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "13", + "s" : [ { + "r" : "13", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "12", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "12", + "s" : [ { + "s" : [ { + "r" : "7", + "s" : [ { + "r" : "6", + "s" : [ { + "s" : [ { + "value" : [ "identifiers" ] + } ] + } ] + }, { + "value" : [ " ","I" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "11", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "11", + "s" : [ { + "r" : "9", + "s" : [ { + "r" : "8", + "s" : [ { + "value" : [ "I" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "9", + "s" : [ { + "value" : [ "use" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "10", + "s" : [ { + "value" : [ "'official'" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "13", + "locator" : "12:3-12:57", + "type" : "SingletonFrom", + "operand" : { + "localId" : "12", + "locator" : "12:18-12:57", + "type" : "Query", + "source" : [ { + "localId" : "7", + "locator" : "12:19-12:31", + "alias" : "I", + "expression" : { + "localId" : "6", + "locator" : "12:19-12:29", + "name" : "identifiers", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "11", + "locator" : "12:33-12:56", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "9", + "locator" : "12:39-12:43", + "path" : "use", + "scope" : "I", + "type" : "Property" + } ] + }, { + "localId" : "10", + "locator" : "12:47-12:56", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "official", + "type" : "Literal" + } ] + } + } + }, + "operand" : [ { + "name" : "identifiers", + "operandTypeSpecifier" : { + "localId" : "5", + "locator" : "11:38-11:53", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "4", + "locator" : "11:43-11:52", + "name" : "{http://hl7.org/fhir}Identifier", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "25", + "locator" : "14:1-15:55", + "name" : "Official", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "25", + "s" : [ { + "value" : [ "","define function ","Official","(","addresses"," " ] + }, { + "r" : "16", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "15", + "s" : [ { + "value" : [ "Address" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "24", + "s" : [ { + "r" : "24", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "23", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "23", + "s" : [ { + "s" : [ { + "r" : "18", + "s" : [ { + "r" : "17", + "s" : [ { + "s" : [ { + "value" : [ "addresses" ] + } ] + } ] + }, { + "value" : [ " ","A" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "22", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "22", + "s" : [ { + "r" : "20", + "s" : [ { + "r" : "19", + "s" : [ { + "value" : [ "A" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "20", + "s" : [ { + "value" : [ "use" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "21", + "s" : [ { + "value" : [ "'official'" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "24", + "locator" : "15:3-15:55", + "type" : "SingletonFrom", + "operand" : { + "localId" : "23", + "locator" : "15:18-15:55", + "type" : "Query", + "source" : [ { + "localId" : "18", + "locator" : "15:19-15:29", + "alias" : "A", + "expression" : { + "localId" : "17", + "locator" : "15:19-15:27", + "name" : "addresses", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "22", + "locator" : "15:31-15:54", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "20", + "locator" : "15:37-15:41", + "path" : "use", + "scope" : "A", + "type" : "Property" + } ] + }, { + "localId" : "21", + "locator" : "15:45-15:54", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "official", + "type" : "Literal" + } ] + } + } + }, + "operand" : [ { + "name" : "addresses", + "operandTypeSpecifier" : { + "localId" : "16", + "locator" : "14:36-14:48", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "15", + "locator" : "14:41-14:47", + "name" : "{http://hl7.org/fhir}Address", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "36", + "locator" : "17:1-18:51", + "name" : "Official", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "36", + "s" : [ { + "value" : [ "","define function ","Official","(","names"," " ] + }, { + "r" : "27", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "26", + "s" : [ { + "value" : [ "HumanName" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "35", + "s" : [ { + "r" : "35", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "34", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "34", + "s" : [ { + "s" : [ { + "r" : "29", + "s" : [ { + "r" : "28", + "s" : [ { + "s" : [ { + "value" : [ "names" ] + } ] + } ] + }, { + "value" : [ " ","N" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "33", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "33", + "s" : [ { + "r" : "31", + "s" : [ { + "r" : "30", + "s" : [ { + "value" : [ "N" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "31", + "s" : [ { + "value" : [ "use" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "32", + "s" : [ { + "value" : [ "'official'" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "35", + "locator" : "18:3-18:51", + "type" : "SingletonFrom", + "operand" : { + "localId" : "34", + "locator" : "18:18-18:51", + "type" : "Query", + "source" : [ { + "localId" : "29", + "locator" : "18:19-18:25", + "alias" : "N", + "expression" : { + "localId" : "28", + "locator" : "18:19-18:23", + "name" : "names", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "33", + "locator" : "18:27-18:50", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "31", + "locator" : "18:33-18:37", + "path" : "use", + "scope" : "N", + "type" : "Property" + } ] + }, { + "localId" : "32", + "locator" : "18:41-18:50", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "official", + "type" : "Literal" + } ] + } + } + }, + "operand" : [ { + "name" : "names", + "operandTypeSpecifier" : { + "localId" : "27", + "locator" : "17:32-17:46", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "26", + "locator" : "17:37-17:45", + "name" : "{http://hl7.org/fhir}HumanName", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "47", + "locator" : "20:1-21:57", + "name" : "Mobile", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "47", + "s" : [ { + "value" : [ "","define function ","Mobile","(","contactPoints"," " ] + }, { + "r" : "38", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "37", + "s" : [ { + "value" : [ "ContactPoint" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "46", + "s" : [ { + "r" : "46", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "45", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "45", + "s" : [ { + "s" : [ { + "r" : "40", + "s" : [ { + "r" : "39", + "s" : [ { + "s" : [ { + "value" : [ "contactPoints" ] + } ] + } ] + }, { + "value" : [ " ","P" ] + } ] + } ] + }, { + "value" : [ " " ] + }, { + "r" : "44", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "44", + "s" : [ { + "r" : "42", + "s" : [ { + "r" : "41", + "s" : [ { + "value" : [ "P" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "42", + "s" : [ { + "value" : [ "use" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "43", + "s" : [ { + "value" : [ "'mobile'" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "46", + "locator" : "21:3-21:57", + "type" : "SingletonFrom", + "operand" : { + "localId" : "45", + "locator" : "21:18-21:57", + "type" : "Query", + "source" : [ { + "localId" : "40", + "locator" : "21:19-21:33", + "alias" : "P", + "expression" : { + "localId" : "39", + "locator" : "21:19-21:31", + "name" : "contactPoints", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "44", + "locator" : "21:35-21:56", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "42", + "locator" : "21:41-21:45", + "path" : "use", + "scope" : "P", + "type" : "Property" + } ] + }, { + "localId" : "43", + "locator" : "21:49-21:56", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "mobile", + "type" : "Literal" + } ] + } + } + }, + "operand" : [ { + "name" : "contactPoints", + "operandTypeSpecifier" : { + "localId" : "38", + "locator" : "20:38-20:55", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "37", + "locator" : "20:43-20:54", + "name" : "{http://hl7.org/fhir}ContactPoint", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "52", + "locator" : "23:1-24:26", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "52", + "s" : [ { + "value" : [ "","define function ","Only","(","allergies"," " ] + }, { + "r" : "49", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "48", + "s" : [ { + "value" : [ "AllergyIntolerance" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "51", + "s" : [ { + "r" : "51", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "50", + "s" : [ { + "value" : [ "allergies" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "51", + "locator" : "24:3-24:26", + "type" : "SingletonFrom", + "operand" : { + "localId" : "50", + "locator" : "24:18-24:26", + "name" : "allergies", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "allergies", + "operandTypeSpecifier" : { + "localId" : "49", + "locator" : "23:32-23:55", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "48", + "locator" : "23:37-23:54", + "name" : "{http://hl7.org/fhir}AllergyIntolerance", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "57", + "locator" : "26:1-27:29", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "57", + "s" : [ { + "value" : [ "","define function ","Only","(","appointments"," " ] + }, { + "r" : "54", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "53", + "s" : [ { + "value" : [ "Appointment" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "56", + "s" : [ { + "r" : "56", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "55", + "s" : [ { + "value" : [ "appointments" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "56", + "locator" : "27:3-27:29", + "type" : "SingletonFrom", + "operand" : { + "localId" : "55", + "locator" : "27:18-27:29", + "name" : "appointments", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "appointments", + "operandTypeSpecifier" : { + "localId" : "54", + "locator" : "26:35-26:51", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "53", + "locator" : "26:40-26:50", + "name" : "{http://hl7.org/fhir}Appointment", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "62", + "locator" : "29:1-30:26", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "62", + "s" : [ { + "value" : [ "","define function ","Only","(","careplans"," " ] + }, { + "r" : "59", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "58", + "s" : [ { + "value" : [ "CarePlan" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "61", + "s" : [ { + "r" : "61", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "60", + "s" : [ { + "value" : [ "careplans" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "61", + "locator" : "30:3-30:26", + "type" : "SingletonFrom", + "operand" : { + "localId" : "60", + "locator" : "30:18-30:26", + "name" : "careplans", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "careplans", + "operandTypeSpecifier" : { + "localId" : "59", + "locator" : "29:32-29:45", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "58", + "locator" : "29:37-29:44", + "name" : "{http://hl7.org/fhir}CarePlan", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "67", + "locator" : "32:1-33:27", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "67", + "s" : [ { + "value" : [ "","define function ","Only","(","conditions"," " ] + }, { + "r" : "64", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "63", + "s" : [ { + "value" : [ "Condition" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "66", + "s" : [ { + "r" : "66", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "65", + "s" : [ { + "value" : [ "conditions" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "66", + "locator" : "33:3-33:27", + "type" : "SingletonFrom", + "operand" : { + "localId" : "65", + "locator" : "33:18-33:27", + "name" : "conditions", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "conditions", + "operandTypeSpecifier" : { + "localId" : "64", + "locator" : "32:33-32:47", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "63", + "locator" : "32:38-32:46", + "name" : "{http://hl7.org/fhir}Condition", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "72", + "locator" : "35:1-36:27", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "72", + "s" : [ { + "value" : [ "","define function ","Only","(","encounters"," " ] + }, { + "r" : "69", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "68", + "s" : [ { + "value" : [ "Encounter" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "71", + "s" : [ { + "r" : "71", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "70", + "s" : [ { + "value" : [ "encounters" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "71", + "locator" : "36:3-36:27", + "type" : "SingletonFrom", + "operand" : { + "localId" : "70", + "locator" : "36:18-36:27", + "name" : "encounters", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "encounters", + "operandTypeSpecifier" : { + "localId" : "69", + "locator" : "35:33-35:47", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "68", + "locator" : "35:38-35:46", + "name" : "{http://hl7.org/fhir}Encounter", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "77", + "locator" : "38:1-39:30", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "77", + "s" : [ { + "value" : [ "","define function ","Only","(","immunizations"," " ] + }, { + "r" : "74", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "73", + "s" : [ { + "value" : [ "Immunization" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "76", + "s" : [ { + "r" : "76", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "75", + "s" : [ { + "value" : [ "immunizations" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "76", + "locator" : "39:3-39:30", + "type" : "SingletonFrom", + "operand" : { + "localId" : "75", + "locator" : "39:18-39:30", + "name" : "immunizations", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "immunizations", + "operandTypeSpecifier" : { + "localId" : "74", + "locator" : "38:36-38:53", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "73", + "locator" : "38:41-38:52", + "name" : "{http://hl7.org/fhir}Immunization", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "82", + "locator" : "41:1-42:35", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "82", + "s" : [ { + "value" : [ "","define function ","Only","(","medicationrequests"," " ] + }, { + "r" : "79", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "78", + "s" : [ { + "value" : [ "MedicationRequest" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "81", + "s" : [ { + "r" : "81", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "80", + "s" : [ { + "value" : [ "medicationrequests" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "81", + "locator" : "42:3-42:35", + "type" : "SingletonFrom", + "operand" : { + "localId" : "80", + "locator" : "42:18-42:35", + "name" : "medicationrequests", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "medicationrequests", + "operandTypeSpecifier" : { + "localId" : "79", + "locator" : "41:41-41:63", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "78", + "locator" : "41:46-41:62", + "name" : "{http://hl7.org/fhir}MedicationRequest", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "87", + "locator" : "44:1-45:29", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "87", + "s" : [ { + "value" : [ "","define function ","Only","(","observations"," " ] + }, { + "r" : "84", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "83", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "86", + "s" : [ { + "r" : "86", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "85", + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "86", + "locator" : "45:3-45:29", + "type" : "SingletonFrom", + "operand" : { + "localId" : "85", + "locator" : "45:18-45:29", + "name" : "observations", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "84", + "locator" : "44:35-44:51", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "83", + "locator" : "44:40-44:50", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "92", + "locator" : "47:1-48:27", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "92", + "s" : [ { + "value" : [ "","define function ","Only","(","procedures"," " ] + }, { + "r" : "89", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "88", + "s" : [ { + "value" : [ "Procedure" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "91", + "s" : [ { + "r" : "91", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "90", + "s" : [ { + "value" : [ "procedures" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "91", + "locator" : "48:3-48:27", + "type" : "SingletonFrom", + "operand" : { + "localId" : "90", + "locator" : "48:18-48:27", + "name" : "procedures", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "procedures", + "operandTypeSpecifier" : { + "localId" : "89", + "locator" : "47:33-47:47", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "88", + "locator" : "47:38-47:46", + "name" : "{http://hl7.org/fhir}Procedure", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "97", + "locator" : "50:1-51:32", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "97", + "s" : [ { + "value" : [ "","define function ","Only","(","serviceRequests"," " ] + }, { + "r" : "94", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "93", + "s" : [ { + "value" : [ "ServiceRequest" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "96", + "s" : [ { + "r" : "96", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "95", + "s" : [ { + "value" : [ "serviceRequests" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "96", + "locator" : "51:3-51:32", + "type" : "SingletonFrom", + "operand" : { + "localId" : "95", + "locator" : "51:18-51:32", + "name" : "serviceRequests", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "serviceRequests", + "operandTypeSpecifier" : { + "localId" : "94", + "locator" : "50:38-50:57", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "93", + "locator" : "50:43-50:56", + "name" : "{http://hl7.org/fhir}ServiceRequest", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "102", + "locator" : "53:1-54:24", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "102", + "s" : [ { + "value" : [ "","define function ","Only","(","dosages"," " ] + }, { + "r" : "99", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "98", + "s" : [ { + "value" : [ "Dosage" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "101", + "s" : [ { + "r" : "101", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "100", + "s" : [ { + "value" : [ "dosages" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "101", + "locator" : "54:3-54:24", + "type" : "SingletonFrom", + "operand" : { + "localId" : "100", + "locator" : "54:18-54:24", + "name" : "dosages", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "dosages", + "operandTypeSpecifier" : { + "localId" : "99", + "locator" : "53:30-53:41", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "98", + "locator" : "53:35-53:40", + "name" : "{http://hl7.org/fhir}Dosage", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "107", + "locator" : "56:1-57:22", + "name" : "Only", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "107", + "s" : [ { + "value" : [ "","define function ","Only","(","doses"," " ] + }, { + "r" : "104", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "103", + "s" : [ { + "value" : [ "FHIR",".","Dosage",".","DoseAndRate" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "106", + "s" : [ { + "r" : "106", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "105", + "s" : [ { + "value" : [ "doses" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "106", + "locator" : "57:3-57:22", + "type" : "SingletonFrom", + "operand" : { + "localId" : "105", + "locator" : "57:18-57:22", + "name" : "doses", + "type" : "OperandRef" + } + }, + "operand" : [ { + "name" : "doses", + "operandTypeSpecifier" : { + "localId" : "104", + "locator" : "56:28-56:56", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "103", + "locator" : "56:33-56:55", + "name" : "{http://hl7.org/fhir}Dosage.DoseAndRate", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "117", + "locator" : "59:1-63:3", + "name" : "Earliest", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "117", + "s" : [ { + "value" : [ "","define function ","Earliest","(","observations"," " ] + }, { + "r" : "109", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "108", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "116", + "s" : [ { + "r" : "116", + "s" : [ { + "value" : [ "First","(\n " ] + }, { + "r" : "115", + "s" : [ { + "s" : [ { + "r" : "111", + "s" : [ { + "r" : "110", + "s" : [ { + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "114", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "113", + "s" : [ { + "r" : "112", + "s" : [ { + "value" : [ "issued" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "116", + "locator" : "60:3-63:3", + "type" : "First", + "source" : { + "localId" : "115", + "locator" : "61:5-62:20", + "type" : "Query", + "source" : [ { + "localId" : "111", + "locator" : "61:5-61:18", + "alias" : "O", + "expression" : { + "localId" : "110", + "locator" : "61:5-61:16", + "name" : "observations", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "114", + "locator" : "62:7-62:20", + "by" : [ { + "localId" : "113", + "locator" : "62:15-62:20", + "direction" : "asc", + "path" : "issued", + "type" : "ByColumn" + } ] + } + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "109", + "locator" : "59:39-59:55", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "108", + "locator" : "59:44-59:54", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "127", + "locator" : "65:1-69:3", + "name" : "Latest", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "127", + "s" : [ { + "value" : [ "","define function ","Latest","(","observations"," " ] + }, { + "r" : "119", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "118", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "126", + "s" : [ { + "r" : "126", + "s" : [ { + "value" : [ "Last","(\n " ] + }, { + "r" : "125", + "s" : [ { + "s" : [ { + "r" : "121", + "s" : [ { + "r" : "120", + "s" : [ { + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "124", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "123", + "s" : [ { + "r" : "122", + "s" : [ { + "value" : [ "issued" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "126", + "locator" : "66:3-69:3", + "type" : "Last", + "source" : { + "localId" : "125", + "locator" : "67:5-68:20", + "type" : "Query", + "source" : [ { + "localId" : "121", + "locator" : "67:5-67:18", + "alias" : "O", + "expression" : { + "localId" : "120", + "locator" : "67:5-67:16", + "name" : "observations", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "124", + "locator" : "68:7-68:20", + "by" : [ { + "localId" : "123", + "locator" : "68:15-68:20", + "direction" : "asc", + "path" : "issued", + "type" : "ByColumn" + } ] + } + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "119", + "locator" : "65:37-65:53", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "118", + "locator" : "65:42-65:52", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "137", + "locator" : "71:1-75:3", + "name" : "MostRecent", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "137", + "s" : [ { + "value" : [ "","define function ","MostRecent","(","observations"," " ] + }, { + "r" : "129", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "128", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "136", + "s" : [ { + "r" : "136", + "s" : [ { + "value" : [ "Last","(\n " ] + }, { + "r" : "135", + "s" : [ { + "s" : [ { + "r" : "131", + "s" : [ { + "r" : "130", + "s" : [ { + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "134", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "133", + "s" : [ { + "r" : "132", + "s" : [ { + "value" : [ "issued" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "136", + "locator" : "72:3-75:3", + "type" : "Last", + "source" : { + "localId" : "135", + "locator" : "73:5-74:20", + "type" : "Query", + "source" : [ { + "localId" : "131", + "locator" : "73:5-73:18", + "alias" : "O", + "expression" : { + "localId" : "130", + "locator" : "73:5-73:16", + "name" : "observations", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "134", + "locator" : "74:7-74:20", + "by" : [ { + "localId" : "133", + "locator" : "74:15-74:20", + "direction" : "asc", + "path" : "issued", + "type" : "ByColumn" + } ] + } + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "129", + "locator" : "71:41-71:57", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "128", + "locator" : "71:46-71:56", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "150", + "locator" : "77:1-81:5", + "name" : "MostRecent", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "150", + "s" : [ { + "value" : [ "","define function ","MostRecent","(","procedures"," " ] + }, { + "r" : "139", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "138", + "s" : [ { + "value" : [ "Procedure" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "149", + "s" : [ { + "r" : "149", + "s" : [ { + "value" : [ "Last","(\n " ] + }, { + "r" : "148", + "s" : [ { + "s" : [ { + "r" : "141", + "s" : [ { + "r" : "140", + "s" : [ { + "s" : [ { + "value" : [ "procedures" ] + } ] + } ] + }, { + "value" : [ " ","P" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "147", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "146", + "s" : [ { + "r" : "145", + "s" : [ { + "value" : [ "start of " ] + }, { + "r" : "144", + "s" : [ { + "r" : "142", + "s" : [ { + "value" : [ "FC" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "144", + "s" : [ { + "value" : [ "ToInterval","(" ] + }, { + "r" : "143", + "s" : [ { + "value" : [ "performed" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "149", + "locator" : "78:3-81:5", + "type" : "Last", + "source" : { + "localId" : "148", + "locator" : "79:5-80:47", + "type" : "Query", + "source" : [ { + "localId" : "141", + "locator" : "79:5-79:16", + "alias" : "P", + "expression" : { + "localId" : "140", + "locator" : "79:5-79:14", + "name" : "procedures", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "147", + "locator" : "80:7-80:47", + "by" : [ { + "localId" : "146", + "locator" : "80:15-80:47", + "direction" : "asc", + "type" : "ByExpression", + "expression" : { + "localId" : "145", + "locator" : "80:15-80:47", + "type" : "Start", + "operand" : { + "localId" : "144", + "locator" : "80:24-80:47", + "name" : "ToInterval", + "libraryName" : "FC", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "143", + "locator" : "80:38-80:46", + "name" : "performed", + "type" : "IdentifierRef" + } ] + } + } + } ] + } + } + }, + "operand" : [ { + "name" : "procedures", + "operandTypeSpecifier" : { + "localId" : "139", + "locator" : "77:39-77:53", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "138", + "locator" : "77:44-77:52", + "name" : "{http://hl7.org/fhir}Procedure", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "162", + "locator" : "83:1-87:3", + "name" : "Lowest", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "162", + "s" : [ { + "value" : [ "","define function ","Lowest","(","observations"," " ] + }, { + "r" : "152", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "151", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "161", + "s" : [ { + "r" : "161", + "s" : [ { + "value" : [ "First","(\n " ] + }, { + "r" : "160", + "s" : [ { + "s" : [ { + "r" : "154", + "s" : [ { + "r" : "153", + "s" : [ { + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "159", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "158", + "s" : [ { + "r" : "157", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "157", + "s" : [ { + "r" : "155", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "156", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "161", + "locator" : "84:3-87:3", + "type" : "First", + "source" : { + "localId" : "160", + "locator" : "85:5-86:38", + "type" : "Query", + "source" : [ { + "localId" : "154", + "locator" : "85:5-85:18", + "alias" : "O", + "expression" : { + "localId" : "153", + "locator" : "85:5-85:16", + "name" : "observations", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "159", + "locator" : "86:7-86:38", + "by" : [ { + "localId" : "158", + "locator" : "86:15-86:38", + "direction" : "asc", + "type" : "ByExpression", + "expression" : { + "localId" : "157", + "locator" : "86:15-86:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "155", + "locator" : "86:16-86:20", + "name" : "value", + "type" : "IdentifierRef" + }, + "asTypeSpecifier" : { + "localId" : "156", + "locator" : "86:25-86:37", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } + } ] + } + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "152", + "locator" : "83:37-83:53", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "151", + "locator" : "83:42-83:52", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "174", + "locator" : "89:1-93:3", + "name" : "Highest", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "174", + "s" : [ { + "value" : [ "","define function ","Highest","(","observations"," " ] + }, { + "r" : "164", + "s" : [ { + "value" : [ "List<" ] + }, { + "r" : "163", + "s" : [ { + "value" : [ "Observation" ] + } ] + }, { + "value" : [ ">" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "173", + "s" : [ { + "r" : "173", + "s" : [ { + "value" : [ "Last","(\n " ] + }, { + "r" : "172", + "s" : [ { + "s" : [ { + "r" : "166", + "s" : [ { + "r" : "165", + "s" : [ { + "s" : [ { + "value" : [ "observations" ] + } ] + } ] + }, { + "value" : [ " ","O" ] + } ] + } ] + }, { + "value" : [ "\n " ] + }, { + "r" : "171", + "s" : [ { + "value" : [ "sort by " ] + }, { + "r" : "170", + "s" : [ { + "r" : "169", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "169", + "s" : [ { + "r" : "167", + "s" : [ { + "value" : [ "value" ] + } ] + }, { + "value" : [ " as " ] + }, { + "r" : "168", + "s" : [ { + "value" : [ "FHIR",".","Quantity" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + }, { + "value" : [ "\n )" ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "173", + "locator" : "90:3-93:3", + "type" : "Last", + "source" : { + "localId" : "172", + "locator" : "91:5-92:38", + "type" : "Query", + "source" : [ { + "localId" : "166", + "locator" : "91:5-91:18", + "alias" : "O", + "expression" : { + "localId" : "165", + "locator" : "91:5-91:16", + "name" : "observations", + "type" : "OperandRef" + } + } ], + "relationship" : [ ], + "sort" : { + "localId" : "171", + "locator" : "92:7-92:38", + "by" : [ { + "localId" : "170", + "locator" : "92:15-92:38", + "direction" : "asc", + "type" : "ByExpression", + "expression" : { + "localId" : "169", + "locator" : "92:15-92:38", + "strict" : false, + "type" : "As", + "operand" : { + "localId" : "167", + "locator" : "92:16-92:20", + "name" : "value", + "type" : "IdentifierRef" + }, + "asTypeSpecifier" : { + "localId" : "168", + "locator" : "92:25-92:37", + "name" : "{http://hl7.org/fhir}Quantity", + "type" : "NamedTypeSpecifier" + } + } + } ] + } + } + }, + "operand" : [ { + "name" : "observations", + "operandTypeSpecifier" : { + "localId" : "164", + "locator" : "89:38-89:54", + "type" : "ListTypeSpecifier", + "elementType" : { + "localId" : "163", + "locator" : "89:43-89:53", + "name" : "{http://hl7.org/fhir}Observation", + "type" : "NamedTypeSpecifier" + } + } + } ] + }, { + "localId" : "188", + "locator" : "101:1-104:10", + "name" : "Extensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "188", + "s" : [ { + "value" : [ "/*\n@description: Returns any WHO core extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\n","define function ","Extensions","(","domainResource"," " ] + }, { + "r" : "175", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "176", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "187", + "s" : [ { + "r" : "187", + "s" : [ { + "s" : [ { + "r" : "178", + "s" : [ { + "r" : "177", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "184", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "184", + "s" : [ { + "r" : "180", + "s" : [ { + "r" : "179", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "180", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "183", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "183", + "s" : [ { + "r" : "181", + "s" : [ { + "value" : [ "'http://fhir.org/guides/who/core/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "182", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "186", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "185", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "187", + "locator" : "102:3-104:10", + "type" : "Query", + "source" : [ { + "localId" : "178", + "locator" : "102:3-102:28", + "alias" : "E", + "expression" : { + "localId" : "177", + "locator" : "102:3-102:26", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "184", + "locator" : "103:4-103:78", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "180", + "locator" : "103:10-103:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "183", + "locator" : "103:18-103:78", + "type" : "Concatenate", + "operand" : [ { + "localId" : "181", + "locator" : "103:19-103:72", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://fhir.org/guides/who/core/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "182", + "locator" : "103:76-103:77", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "186", + "locator" : "104:3-104:10", + "expression" : { + "localId" : "185", + "locator" : "104:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "175", + "locator" : "101:43-101:56", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "176", + "locator" : "101:62-101:67", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "195", + "locator" : "111:1-112:49", + "name" : "Extension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "195", + "s" : [ { + "value" : [ "/*\n@description: Returns the single WHO core extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified id.\n*/\n","define function ","Extension","(","domainResource"," " ] + }, { + "r" : "189", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "190", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "194", + "s" : [ { + "r" : "194", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "193", + "s" : [ { + "value" : [ "\"Extensions\"","(" ] + }, { + "r" : "191", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "192", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "194", + "locator" : "112:3-112:49", + "type" : "SingletonFrom", + "operand" : { + "localId" : "193", + "locator" : "112:18-112:49", + "name" : "Extensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "191", + "locator" : "112:31-112:44", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "192", + "locator" : "112:47-112:48", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "189", + "locator" : "111:42-111:55", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "190", + "locator" : "111:61-111:66", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "209", + "locator" : "119:1-122:10", + "name" : "Extensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "209", + "s" : [ { + "value" : [ "/*\n@description: Returns any WHO core extensions defined on the given element with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","Extensions","(","element"," " ] + }, { + "r" : "196", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "197", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "208", + "s" : [ { + "r" : "208", + "s" : [ { + "s" : [ { + "r" : "199", + "s" : [ { + "r" : "198", + "s" : [ { + "s" : [ { + "value" : [ "element",".","extension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "205", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "205", + "s" : [ { + "r" : "201", + "s" : [ { + "r" : "200", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "201", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "204", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "204", + "s" : [ { + "r" : "202", + "s" : [ { + "value" : [ "'http://fhir.org/guides/who/core/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "203", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "207", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "206", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "208", + "locator" : "120:3-122:10", + "type" : "Query", + "source" : [ { + "localId" : "199", + "locator" : "120:3-120:21", + "alias" : "E", + "expression" : { + "localId" : "198", + "locator" : "120:3-120:19", + "path" : "extension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "205", + "locator" : "121:4-121:78", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "201", + "locator" : "121:10-121:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "204", + "locator" : "121:18-121:78", + "type" : "Concatenate", + "operand" : [ { + "localId" : "202", + "locator" : "121:19-121:72", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://fhir.org/guides/who/core/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "203", + "locator" : "121:76-121:77", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "207", + "locator" : "122:3-122:10", + "expression" : { + "localId" : "206", + "locator" : "122:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "196", + "locator" : "119:36-119:42", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "197", + "locator" : "119:48-119:53", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "216", + "locator" : "129:1-130:40", + "name" : "Extension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "216", + "s" : [ { + "value" : [ "/*\n@description: Returns the single WHO core extension (if present) on the given element with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","Extension","(","element"," " ] + }, { + "r" : "210", + "s" : [ { + "value" : [ "Element" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "211", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "215", + "s" : [ { + "r" : "215", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "214", + "s" : [ { + "value" : [ "Extensions","(" ] + }, { + "r" : "212", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "213", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "215", + "locator" : "130:3-130:40", + "type" : "SingletonFrom", + "operand" : { + "localId" : "214", + "locator" : "130:18-130:40", + "name" : "Extensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "212", + "locator" : "130:29-130:35", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "213", + "locator" : "130:38-130:39", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "210", + "locator" : "129:35-129:41", + "name" : "{http://hl7.org/fhir}Element", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "211", + "locator" : "129:47-129:52", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "230", + "locator" : "138:1-141:10", + "name" : "ModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "230", + "s" : [ { + "value" : [ "/*\n@description: Returns any WHO core modifier extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\n","define function ","ModifierExtensions","(","domainResource"," " ] + }, { + "r" : "217", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "218", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "229", + "s" : [ { + "r" : "229", + "s" : [ { + "s" : [ { + "r" : "220", + "s" : [ { + "r" : "219", + "s" : [ { + "s" : [ { + "value" : [ "domainResource",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "226", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "226", + "s" : [ { + "r" : "222", + "s" : [ { + "r" : "221", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "222", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "225", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "225", + "s" : [ { + "r" : "223", + "s" : [ { + "value" : [ "'http://fhir.org/guides/who/core/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "224", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "228", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "227", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "229", + "locator" : "139:3-141:10", + "type" : "Query", + "source" : [ { + "localId" : "220", + "locator" : "139:3-139:36", + "alias" : "E", + "expression" : { + "localId" : "219", + "locator" : "139:3-139:34", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "domainResource", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "226", + "locator" : "140:4-140:78", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "222", + "locator" : "140:10-140:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "225", + "locator" : "140:18-140:78", + "type" : "Concatenate", + "operand" : [ { + "localId" : "223", + "locator" : "140:19-140:72", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://fhir.org/guides/who/core/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "224", + "locator" : "140:76-140:77", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "228", + "locator" : "141:3-141:10", + "expression" : { + "localId" : "227", + "locator" : "141:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "217", + "locator" : "138:51-138:64", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "218", + "locator" : "138:70-138:75", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "237", + "locator" : "148:1-149:55", + "name" : "ModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "237", + "s" : [ { + "value" : [ "/*\n@description: Returns the single WHO core modifier extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","ModifierExtension","(","domainResource"," " ] + }, { + "r" : "231", + "s" : [ { + "value" : [ "DomainResource" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "232", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "236", + "s" : [ { + "r" : "236", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "235", + "s" : [ { + "value" : [ "ModifierExtensions","(" ] + }, { + "r" : "233", + "s" : [ { + "value" : [ "domainResource" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "234", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "236", + "locator" : "149:3-149:55", + "type" : "SingletonFrom", + "operand" : { + "localId" : "235", + "locator" : "149:18-149:55", + "name" : "ModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "233", + "locator" : "149:37-149:50", + "name" : "domainResource", + "type" : "OperandRef" + }, { + "localId" : "234", + "locator" : "149:53-149:54", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "domainResource", + "operandTypeSpecifier" : { + "localId" : "231", + "locator" : "148:50-148:63", + "name" : "{http://hl7.org/fhir}DomainResource", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "232", + "locator" : "148:69-148:74", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "251", + "locator" : "156:1-159:10", + "name" : "ModifierExtensions", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "251", + "s" : [ { + "value" : [ "/*\n@description: Returns any WHO core modifier extensions defined on the given element with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\n*/\n","define function ","ModifierExtensions","(","element"," " ] + }, { + "r" : "238", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "239", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "250", + "s" : [ { + "r" : "250", + "s" : [ { + "s" : [ { + "r" : "241", + "s" : [ { + "r" : "240", + "s" : [ { + "s" : [ { + "value" : [ "element",".","modifierExtension" ] + } ] + } ] + }, { + "value" : [ " ","E" ] + } ] + } ] + }, { + "value" : [ "\n\t " ] + }, { + "r" : "247", + "s" : [ { + "value" : [ "where " ] + }, { + "r" : "247", + "s" : [ { + "r" : "243", + "s" : [ { + "r" : "242", + "s" : [ { + "value" : [ "E" ] + } ] + }, { + "value" : [ "." ] + }, { + "r" : "243", + "s" : [ { + "value" : [ "url" ] + } ] + } ] + }, { + "value" : [ " ","="," " ] + }, { + "r" : "246", + "s" : [ { + "value" : [ "(" ] + }, { + "r" : "246", + "s" : [ { + "r" : "244", + "s" : [ { + "value" : [ "'http://fhir.org/guides/who/core/StructureDefinition/'" ] + } ] + }, { + "value" : [ " + " ] + }, { + "r" : "245", + "s" : [ { + "value" : [ "id" ] + } ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + }, { + "value" : [ "\n\t\t" ] + }, { + "r" : "249", + "s" : [ { + "value" : [ "return " ] + }, { + "r" : "248", + "s" : [ { + "value" : [ "E" ] + } ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "250", + "locator" : "157:3-159:10", + "type" : "Query", + "source" : [ { + "localId" : "241", + "locator" : "157:3-157:29", + "alias" : "E", + "expression" : { + "localId" : "240", + "locator" : "157:3-157:27", + "path" : "modifierExtension", + "type" : "Property", + "source" : { + "name" : "element", + "type" : "OperandRef" + } + } + } ], + "relationship" : [ ], + "where" : { + "localId" : "247", + "locator" : "158:4-158:78", + "type" : "Equal", + "operand" : [ { + "name" : "ToString", + "libraryName" : "FHIRHelpers", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "243", + "locator" : "158:10-158:14", + "path" : "url", + "scope" : "E", + "type" : "Property" + } ] + }, { + "localId" : "246", + "locator" : "158:18-158:78", + "type" : "Concatenate", + "operand" : [ { + "localId" : "244", + "locator" : "158:19-158:72", + "valueType" : "{urn:hl7-org:elm-types:r1}String", + "value" : "http://fhir.org/guides/who/core/StructureDefinition/", + "type" : "Literal" + }, { + "localId" : "245", + "locator" : "158:76-158:77", + "name" : "id", + "type" : "OperandRef" + } ] + } ] + }, + "return" : { + "localId" : "249", + "locator" : "159:3-159:10", + "expression" : { + "localId" : "248", + "locator" : "159:10", + "name" : "E", + "type" : "AliasRef" + } + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "238", + "locator" : "156:44-156:58", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "239", + "locator" : "156:64-156:69", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + }, { + "localId" : "258", + "locator" : "166:1-167:48", + "name" : "ModifierExtension", + "context" : "Patient", + "accessLevel" : "Public", + "type" : "FunctionDef", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "258", + "s" : [ { + "value" : [ "/*\n@description: Returns the single WHO core modifier extension (if present) on the given element with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\n","define function ","ModifierExtension","(","element"," " ] + }, { + "r" : "252", + "s" : [ { + "value" : [ "BackboneElement" ] + } ] + }, { + "value" : [ ", ","id"," " ] + }, { + "r" : "253", + "s" : [ { + "value" : [ "String" ] + } ] + }, { + "value" : [ "):\n " ] + }, { + "r" : "257", + "s" : [ { + "r" : "257", + "s" : [ { + "value" : [ "singleton from " ] + }, { + "r" : "256", + "s" : [ { + "value" : [ "ModifierExtensions","(" ] + }, { + "r" : "254", + "s" : [ { + "value" : [ "element" ] + } ] + }, { + "value" : [ ", " ] + }, { + "r" : "255", + "s" : [ { + "value" : [ "id" ] + } ] + }, { + "value" : [ ")" ] + } ] + } ] + } ] + } ] + } + } ], + "expression" : { + "localId" : "257", + "locator" : "167:3-167:48", + "type" : "SingletonFrom", + "operand" : { + "localId" : "256", + "locator" : "167:18-167:48", + "name" : "ModifierExtensions", + "type" : "FunctionRef", + "operand" : [ { + "localId" : "254", + "locator" : "167:37-167:43", + "name" : "element", + "type" : "OperandRef" + }, { + "localId" : "255", + "locator" : "167:46-167:47", + "name" : "id", + "type" : "OperandRef" + } ] + } + }, + "operand" : [ { + "name" : "element", + "operandTypeSpecifier" : { + "localId" : "252", + "locator" : "166:43-166:57", + "name" : "{http://hl7.org/fhir}BackboneElement", + "type" : "NamedTypeSpecifier" + } + }, { + "name" : "id", + "operandTypeSpecifier" : { + "localId" : "253", + "locator" : "166:63-166:68", + "name" : "{urn:hl7-org:elm-types:r1}String", + "type" : "NamedTypeSpecifier" + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon.json new file mode 100644 index 0000000000..478b4022ed --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOCommon.json @@ -0,0 +1,65 @@ +{ + "resourceType" : "Library", + "id" : "WHOCommon", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onhttp://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1
depends-onhttp://hl7.org/fhir/Library/FHIRHelpers|4.0.1
depends-onFHIRCommon

Parameters

Patientout01Patient

Contents

text/cql

library WHOCommon\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude FHIRHelpers version '4.0.1'\r\n\r\ninclude FHIRCommon called FC\r\n\r\ncontext Patient\r\n\r\ndefine function Official(identifiers List<Identifier>):\r\n  singleton from (identifiers I where I.use = 'official')\r\n\r\ndefine function Official(addresses List<Address>):\r\n  singleton from (addresses A where A.use = 'official')\r\n\r\ndefine function Official(names List<HumanName>):\r\n  singleton from (names N where N.use = 'official')\r\n\r\ndefine function Mobile(contactPoints List<ContactPoint>):\r\n  singleton from (contactPoints P where P.use = 'mobile')\r\n\r\ndefine function Only(allergies List<AllergyIntolerance>):\r\n  singleton from allergies\r\n\r\ndefine function Only(appointments List<Appointment>):\r\n  singleton from appointments\r\n\r\ndefine function Only(careplans List<CarePlan>):\r\n  singleton from careplans\r\n\r\ndefine function Only(conditions List<Condition>):\r\n  singleton from conditions\r\n\r\ndefine function Only(encounters List<Encounter>):\r\n  singleton from encounters\r\n\r\ndefine function Only(immunizations List<Immunization>):\r\n  singleton from immunizations\r\n\r\ndefine function Only(medicationrequests List<MedicationRequest>):\r\n  singleton from medicationrequests\r\n\r\ndefine function Only(observations List<Observation>):\r\n  singleton from observations\r\n\r\ndefine function Only(procedures List<Procedure>):\r\n  singleton from procedures\r\n\r\ndefine function Only(serviceRequests List<ServiceRequest>):\r\n  singleton from serviceRequests\r\n\r\ndefine function Only(dosages List<Dosage>):\r\n  singleton from dosages\r\n\r\ndefine function Only(doses List<FHIR.Dosage.DoseAndRate>):\r\n  singleton from doses\r\n\r\ndefine function Earliest(observations List<Observation>):\r\n  First(\r\n    observations O\r\n      sort by issued\r\n  )\r\n\r\ndefine function Latest(observations List<Observation>):\r\n  Last(\r\n    observations O\r\n      sort by issued\r\n  )\r\n\r\ndefine function MostRecent(observations List<Observation>):\r\n  Last(\r\n    observations O\r\n      sort by issued\r\n  )\r\n\r\ndefine function MostRecent(procedures List<Procedure>):\r\n  Last(\r\n    procedures P\r\n      sort by start of FC.ToInterval(performed)\r\n    )\r\n\r\ndefine function Lowest(observations List<Observation>):\r\n  First(\r\n    observations O\r\n      sort by (value as FHIR.Quantity)\r\n  )\r\n\r\ndefine function Highest(observations List<Observation>):\r\n  Last(\r\n    observations O\r\n      sort by (value as FHIR.Quantity)\r\n  )\r\n\r\n/*\r\n@description: Returns any WHO core extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function Extensions(domainResource DomainResource, id String):\r\n  domainResource.extension E\r\n\t  where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single WHO core extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified id.\r\n*/\r\ndefine function Extension(domainResource DomainResource, id String):\r\n  singleton from "Extensions"(domainResource, id)\r\n\r\n/*\r\n@description: Returns any WHO core extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function Extensions(element Element, id String):\r\n  element.extension E\r\n\t  where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single WHO core extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function Extension(element Element, id String):\r\n  singleton from Extensions(element, id)\r\n\r\n/*\r\n@description: Returns any WHO core modifier extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function ModifierExtensions(domainResource DomainResource, id String):\r\n  domainResource.modifierExtension E\r\n\t  where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single WHO core modifier extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(domainResource DomainResource, id String):\r\n  singleton from ModifierExtensions(domainResource, id)\r\n\r\n/*\r\n@description: Returns any WHO core modifier extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function ModifierExtensions(element BackboneElement, id String):\r\n  element.modifierExtension E\r\n\t  where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\r\n\t\treturn E\r\n\r\n/*\r\n@description: Returns the single WHO core modifier extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(element BackboneElement, id String):\r\n  singleton from ModifierExtensions(element, id)\r\n

Content not shown - (application/elm+xml, size = 74Kb)

Content not shown - (application/elm+json, size = 131Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/WHOCommon", + "version" : "0.1.0", + "name" : "WHOCommon", + "title" : "WHOCommon", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines common terminologies and functions used throughout WHO SMART Guidelines content", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/Library/FHIRHelpers|4.0.1" + }, + { + "type" : "depends-on", + "resource" : "http://smart.who.int/smart-immunizations-measles/Library/FHIRCommon" + }], + "parameter" : [{ + "name" : "Patient", + "use" : "out", + "min" : 0, + "max" : "1", + "type" : "Patient" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBXSE9Db21tb24NCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScNCg0KaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCg0KaW5jbHVkZSBGSElSQ29tbW9uIGNhbGxlZCBGQw0KDQpjb250ZXh0IFBhdGllbnQNCg0KZGVmaW5lIGZ1bmN0aW9uIE9mZmljaWFsKGlkZW50aWZpZXJzIExpc3Q8SWRlbnRpZmllcj4pOg0KICBzaW5nbGV0b24gZnJvbSAoaWRlbnRpZmllcnMgSSB3aGVyZSBJLnVzZSA9ICdvZmZpY2lhbCcpDQoNCmRlZmluZSBmdW5jdGlvbiBPZmZpY2lhbChhZGRyZXNzZXMgTGlzdDxBZGRyZXNzPik6DQogIHNpbmdsZXRvbiBmcm9tIChhZGRyZXNzZXMgQSB3aGVyZSBBLnVzZSA9ICdvZmZpY2lhbCcpDQoNCmRlZmluZSBmdW5jdGlvbiBPZmZpY2lhbChuYW1lcyBMaXN0PEh1bWFuTmFtZT4pOg0KICBzaW5nbGV0b24gZnJvbSAobmFtZXMgTiB3aGVyZSBOLnVzZSA9ICdvZmZpY2lhbCcpDQoNCmRlZmluZSBmdW5jdGlvbiBNb2JpbGUoY29udGFjdFBvaW50cyBMaXN0PENvbnRhY3RQb2ludD4pOg0KICBzaW5nbGV0b24gZnJvbSAoY29udGFjdFBvaW50cyBQIHdoZXJlIFAudXNlID0gJ21vYmlsZScpDQoNCmRlZmluZSBmdW5jdGlvbiBPbmx5KGFsbGVyZ2llcyBMaXN0PEFsbGVyZ3lJbnRvbGVyYW5jZT4pOg0KICBzaW5nbGV0b24gZnJvbSBhbGxlcmdpZXMNCg0KZGVmaW5lIGZ1bmN0aW9uIE9ubHkoYXBwb2ludG1lbnRzIExpc3Q8QXBwb2ludG1lbnQ+KToNCiAgc2luZ2xldG9uIGZyb20gYXBwb2ludG1lbnRzDQoNCmRlZmluZSBmdW5jdGlvbiBPbmx5KGNhcmVwbGFucyBMaXN0PENhcmVQbGFuPik6DQogIHNpbmdsZXRvbiBmcm9tIGNhcmVwbGFucw0KDQpkZWZpbmUgZnVuY3Rpb24gT25seShjb25kaXRpb25zIExpc3Q8Q29uZGl0aW9uPik6DQogIHNpbmdsZXRvbiBmcm9tIGNvbmRpdGlvbnMNCg0KZGVmaW5lIGZ1bmN0aW9uIE9ubHkoZW5jb3VudGVycyBMaXN0PEVuY291bnRlcj4pOg0KICBzaW5nbGV0b24gZnJvbSBlbmNvdW50ZXJzDQoNCmRlZmluZSBmdW5jdGlvbiBPbmx5KGltbXVuaXphdGlvbnMgTGlzdDxJbW11bml6YXRpb24+KToNCiAgc2luZ2xldG9uIGZyb20gaW1tdW5pemF0aW9ucw0KDQpkZWZpbmUgZnVuY3Rpb24gT25seShtZWRpY2F0aW9ucmVxdWVzdHMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOg0KICBzaW5nbGV0b24gZnJvbSBtZWRpY2F0aW9ucmVxdWVzdHMNCg0KZGVmaW5lIGZ1bmN0aW9uIE9ubHkob2JzZXJ2YXRpb25zIExpc3Q8T2JzZXJ2YXRpb24+KToNCiAgc2luZ2xldG9uIGZyb20gb2JzZXJ2YXRpb25zDQoNCmRlZmluZSBmdW5jdGlvbiBPbmx5KHByb2NlZHVyZXMgTGlzdDxQcm9jZWR1cmU+KToNCiAgc2luZ2xldG9uIGZyb20gcHJvY2VkdXJlcw0KDQpkZWZpbmUgZnVuY3Rpb24gT25seShzZXJ2aWNlUmVxdWVzdHMgTGlzdDxTZXJ2aWNlUmVxdWVzdD4pOg0KICBzaW5nbGV0b24gZnJvbSBzZXJ2aWNlUmVxdWVzdHMNCg0KZGVmaW5lIGZ1bmN0aW9uIE9ubHkoZG9zYWdlcyBMaXN0PERvc2FnZT4pOg0KICBzaW5nbGV0b24gZnJvbSBkb3NhZ2VzDQoNCmRlZmluZSBmdW5jdGlvbiBPbmx5KGRvc2VzIExpc3Q8RkhJUi5Eb3NhZ2UuRG9zZUFuZFJhdGU+KToNCiAgc2luZ2xldG9uIGZyb20gZG9zZXMNCg0KZGVmaW5lIGZ1bmN0aW9uIEVhcmxpZXN0KG9ic2VydmF0aW9ucyBMaXN0PE9ic2VydmF0aW9uPik6DQogIEZpcnN0KA0KICAgIG9ic2VydmF0aW9ucyBPDQogICAgICBzb3J0IGJ5IGlzc3VlZA0KICApDQoNCmRlZmluZSBmdW5jdGlvbiBMYXRlc3Qob2JzZXJ2YXRpb25zIExpc3Q8T2JzZXJ2YXRpb24+KToNCiAgTGFzdCgNCiAgICBvYnNlcnZhdGlvbnMgTw0KICAgICAgc29ydCBieSBpc3N1ZWQNCiAgKQ0KDQpkZWZpbmUgZnVuY3Rpb24gTW9zdFJlY2VudChvYnNlcnZhdGlvbnMgTGlzdDxPYnNlcnZhdGlvbj4pOg0KICBMYXN0KA0KICAgIG9ic2VydmF0aW9ucyBPDQogICAgICBzb3J0IGJ5IGlzc3VlZA0KICApDQoNCmRlZmluZSBmdW5jdGlvbiBNb3N0UmVjZW50KHByb2NlZHVyZXMgTGlzdDxQcm9jZWR1cmU+KToNCiAgTGFzdCgNCiAgICBwcm9jZWR1cmVzIFANCiAgICAgIHNvcnQgYnkgc3RhcnQgb2YgRkMuVG9JbnRlcnZhbChwZXJmb3JtZWQpDQogICAgKQ0KDQpkZWZpbmUgZnVuY3Rpb24gTG93ZXN0KG9ic2VydmF0aW9ucyBMaXN0PE9ic2VydmF0aW9uPik6DQogIEZpcnN0KA0KICAgIG9ic2VydmF0aW9ucyBPDQogICAgICBzb3J0IGJ5ICh2YWx1ZSBhcyBGSElSLlF1YW50aXR5KQ0KICApDQoNCmRlZmluZSBmdW5jdGlvbiBIaWdoZXN0KG9ic2VydmF0aW9ucyBMaXN0PE9ic2VydmF0aW9uPik6DQogIExhc3QoDQogICAgb2JzZXJ2YXRpb25zIE8NCiAgICAgIHNvcnQgYnkgKHZhbHVlIGFzIEZISVIuUXVhbnRpdHkpDQogICkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgV0hPIGNvcmUgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlDQpDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgaWQgU3RyaW5nKToNCiAgZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgV0hPIGNvcmUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEV4dGVuc2lvbihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgaWQgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gIkV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgV0hPIGNvcmUgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEV4dGVuc2lvbnMoZWxlbWVudCBFbGVtZW50LCBpZCBTdHJpbmcpOg0KICBlbGVtZW50LmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyBpZCkNCgkJcmV0dXJuIEUNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIFdITyBjb3JlIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZWxlbWVudCBFbGVtZW50LCBpZCBTdHJpbmcpOg0KICBzaW5nbGV0b24gZnJvbSBFeHRlbnNpb25zKGVsZW1lbnQsIGlkKQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBXSE8gY29yZSBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUNCkNRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgV0hPIGNvcmUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgaWQgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgV0hPIGNvcmUgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9ucyhlbGVtZW50IEJhY2tib25lRWxlbWVudCwgaWQgU3RyaW5nKToNCiAgZWxlbWVudC5tb2RpZmllckV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyBpZCkNCgkJcmV0dXJuIEUNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbihlbGVtZW50IEJhY2tib25lRWxlbWVudCwgaWQgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQsIGlkKQ0K" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgPGE6cz5saWJyYXJ5IFdIT0NvbW1vbjwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iV0hPQ29tbW9uIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNToxLTU6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iNzoxLTc6MjgiIGxvY2FsSWRlbnRpZmllcj0iRkMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcy9GSElSQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgRkM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9Ijk6MS05OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OjEtOToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIxMToxLTEyOjU3IiBuYW1lPSJPZmZpY2lhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPZmZpY2lhbChpZGVudGlmaWVycyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPklkZW50aWZpZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWRlbnRpZmllcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51c2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb2ZmaWNpYWwnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjEyOjMtMTI6NTciIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjEyOjE4LTEyOjU3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjEyOjE5LTEyOjMxIiBhbGlhcz0iSSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEyOjE5LTEyOjI5IiBuYW1lPSJpZGVudGlmaWVycyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMTI6MzMtMTI6NTYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjEyOjM5LTEyOjQzIiBwYXRoPSJ1c2UiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMCIgbG9jYXRvcj0iMTI6NDctMTI6NTYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvZmZpY2lhbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkZW50aWZpZXJzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjExOjM4LTExOjUzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iNCIgbG9jYXRvcj0iMTE6NDMtMTE6NTIiIG5hbWU9ImZoaXI6SWRlbnRpZmllciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIxNDoxLTE1OjU1IiBuYW1lPSJPZmZpY2lhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPZmZpY2lhbChhZGRyZXNzZXMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFkZHJlc3M8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hZGRyZXNzZXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkE8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51c2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb2ZmaWNpYWwnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQiIGxvY2F0b3I9IjE1OjMtMTU6NTUiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjE1OjE4LTE1OjU1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIxNToxOS0xNToyOSIgYWxpYXM9IkEiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMTU6MTktMTU6MjciIG5hbWU9ImFkZHJlc3NlcyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMTU6MzEtMTU6NTQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIxNTozNy0xNTo0MSIgcGF0aD0idXNlIiBzY29wZT0iQSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjE1OjQ1LTE1OjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib2ZmaWNpYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJhZGRyZXNzZXMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjE0OjM2LTE0OjQ4IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjE0OjQxLTE0OjQ3IiBuYW1lPSJmaGlyOkFkZHJlc3MiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMTc6MS0xODo1MSIgbmFtZT0iT2ZmaWNpYWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gT2ZmaWNpYWwobmFtZXMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkh1bWFuTmFtZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm5hbWVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5OPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29mZmljaWFsJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIxODozLTE4OjUxIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSIxODoxOC0xODo1MSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMTg6MTktMTg6MjUiIGFsaWFzPSJOIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjE4OjE5LTE4OjIzIiBuYW1lPSJuYW1lcyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIzMyIgbG9jYXRvcj0iMTg6MjctMTg6NTAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSIxODozMy0xODozNyIgcGF0aD0idXNlIiBzY29wZT0iTiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjE4OjQxLTE4OjUwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib2ZmaWNpYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJuYW1lcyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMTc6MzItMTc6NDYiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyNiIgbG9jYXRvcj0iMTc6MzctMTc6NDUiIG5hbWU9ImZoaXI6SHVtYW5OYW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDciIGxvY2F0b3I9IjIwOjEtMjE6NTciIG5hbWU9Ik1vYmlsZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBNb2JpbGUoY29udGFjdFBvaW50cyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29udGFjdFBvaW50PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29udGFjdFBvaW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVzZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidtb2JpbGUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjIxOjMtMjE6NTciIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjIxOjE4LTIxOjU3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSIyMToxOS0yMTozMyIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOSIgbG9jYXRvcj0iMjE6MTktMjE6MzEiIG5hbWU9ImNvbnRhY3RQb2ludHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDQiIGxvY2F0b3I9IjIxOjM1LTIxOjU2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MiIgbG9jYXRvcj0iMjE6NDEtMjE6NDUiIHBhdGg9InVzZSIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIyMTo0OS0yMTo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1vYmlsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbnRhY3RQb2ludHMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjIwOjM4LTIwOjU1IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjIwOjQzLTIwOjU0IiBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIyMzoxLTI0OjI2IiBuYW1lPSJPbmx5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIE9ubHkoYWxsZXJnaWVzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5BbGxlcmd5SW50b2xlcmFuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFsbGVyZ2llczwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MSIgbG9jYXRvcj0iMjQ6My0yNDoyNiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MCIgbG9jYXRvcj0iMjQ6MTgtMjQ6MjYiIG5hbWU9ImFsbGVyZ2llcyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJhbGxlcmdpZXMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDkiIGxvY2F0b3I9IjIzOjMyLTIzOjU1IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjIzOjM3LTIzOjU0IiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU3IiBsb2NhdG9yPSIyNjoxLTI3OjI5IiBuYW1lPSJPbmx5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIE9ubHkoYXBwb2ludG1lbnRzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5BcHBvaW50bWVudDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXBwb2ludG1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSIyNzozLTI3OjI5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIyNzoxOC0yNzoyOSIgbmFtZT0iYXBwb2ludG1lbnRzIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImFwcG9pbnRtZW50cyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NCIgbG9jYXRvcj0iMjY6MzUtMjY6NTEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSI1MyIgbG9jYXRvcj0iMjY6NDAtMjY6NTAiIG5hbWU9ImZoaXI6QXBwb2ludG1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMjk6MS0zMDoyNiIgbmFtZT0iT25seSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPbmx5KGNhcmVwbGFucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FyZVBsYW48L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNhcmVwbGFuczwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MSIgbG9jYXRvcj0iMzA6My0zMDoyNiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iMzA6MTgtMzA6MjYiIG5hbWU9ImNhcmVwbGFucyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjYXJlcGxhbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjI5OjMyLTI5OjQ1IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjI5OjM3LTI5OjQ0IiBuYW1lPSJmaGlyOkNhcmVQbGFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjMyOjEtMzM6MjciIG5hbWU9Ik9ubHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gT25seShjb25kaXRpb25zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjMzOjMtMzM6MjciIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjMzOjE4LTMzOjI3IiBuYW1lPSJjb25kaXRpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjMyOjMzLTMyOjQ3IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjMyOjM4LTMyOjQ2IiBuYW1lPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjcyIiBsb2NhdG9yPSIzNToxLTM2OjI3IiBuYW1lPSJPbmx5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIE9ubHkoZW5jb3VudGVycyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmNvdW50ZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSIzNjozLTM2OjI3IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSIzNjoxOC0zNjoyNyIgbmFtZT0iZW5jb3VudGVycyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbmNvdW50ZXJzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSIzNTozMy0zNTo0NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSIzNTozOC0zNTo0NiIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NyIgbG9jYXRvcj0iMzg6MS0zOTozMCIgbmFtZT0iT25seSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPbmx5KGltbXVuaXphdGlvbnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkltbXVuaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW1tdW5pemF0aW9uczwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NiIgbG9jYXRvcj0iMzk6My0zOTozMCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NSIgbG9jYXRvcj0iMzk6MTgtMzk6MzAiIG5hbWU9ImltbXVuaXphdGlvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaW1tdW5pemF0aW9ucyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NCIgbG9jYXRvcj0iMzg6MzYtMzg6NTMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSI3MyIgbG9jYXRvcj0iMzg6NDEtMzg6NTIiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODIiIGxvY2F0b3I9IjQxOjEtNDI6MzUiIG5hbWU9Ik9ubHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gT25seShtZWRpY2F0aW9ucmVxdWVzdHMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPk1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9ucmVxdWVzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODEiIGxvY2F0b3I9IjQyOjMtNDI6MzUiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjQyOjE4LTQyOjM1IiBuYW1lPSJtZWRpY2F0aW9ucmVxdWVzdHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0ibWVkaWNhdGlvbnJlcXVlc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI0MTo0MS00MTo2MyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9Ijc4IiBsb2NhdG9yPSI0MTo0Ni00MTo2MiIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI0NDoxLTQ1OjI5IiBuYW1lPSJPbmx5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIE9ubHkob2JzZXJ2YXRpb25zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5PYnNlcnZhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2JzZXJ2YXRpb25zPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI0NTozLTQ1OjI5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI0NToxOC00NToyOSIgbmFtZT0ib2JzZXJ2YXRpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9ic2VydmF0aW9ucyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNDQ6MzUtNDQ6NTEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSI4MyIgbG9jYXRvcj0iNDQ6NDAtNDQ6NTAiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNDc6MS00ODoyNyIgbmFtZT0iT25seSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPbmx5KHByb2NlZHVyZXMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlByb2NlZHVyZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cHJvY2VkdXJlczwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MSIgbG9jYXRvcj0iNDg6My00ODoyNyIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNDg6MTgtNDg6MjciIG5hbWU9InByb2NlZHVyZXMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icHJvY2VkdXJlcyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNDc6MzMtNDc6NDciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSI4OCIgbG9jYXRvcj0iNDc6MzgtNDc6NDYiIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTciIGxvY2F0b3I9IjUwOjEtNTE6MzIiIG5hbWU9Ik9ubHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gT25seShzZXJ2aWNlUmVxdWVzdHMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNlcnZpY2VSZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zZXJ2aWNlUmVxdWVzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjUxOjMtNTE6MzIiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjUxOjE4LTUxOjMyIiBuYW1lPSJzZXJ2aWNlUmVxdWVzdHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0ic2VydmljZVJlcXVlc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI1MDozOC01MDo1NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI1MDo0My01MDo1NiIgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwMiIgbG9jYXRvcj0iNTM6MS01NDoyNCIgbmFtZT0iT25seSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gT25seShkb3NhZ2VzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5Eb3NhZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvc2FnZXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAxIiBsb2NhdG9yPSI1NDozLTU0OjI0IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNTQ6MTgtNTQ6MjQiIG5hbWU9ImRvc2FnZXMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9zYWdlcyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5OSIgbG9jYXRvcj0iNTM6MzAtNTM6NDEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNTM6MzUtNTM6NDAiIG5hbWU9ImZoaXI6RG9zYWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSI1NjoxLTU3OjIyIiBuYW1lPSJPbmx5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBPbmx5KGRvc2VzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRG9zYWdlLkRvc2VBbmRSYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kb3NlczwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDYiIGxvY2F0b3I9IjU3OjMtNTc6MjIiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSI1NzoxOC01NzoyMiIgbmFtZT0iZG9zZXMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9zZXMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI1NjoyOC01Njo1NiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNTY6MzMtNTY6NTUiIG5hbWU9ImZoaXI6RG9zYWdlLkRvc2VBbmRSYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI1OToxLTYzOjMiIG5hbWU9IkVhcmxpZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBFYXJsaWVzdChvYnNlcnZhdGlvbnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+T2JzZXJ2YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCgKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9ic2VydmF0aW9uczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNvcnQgYnkgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlzc3VlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI2MDozLTYzOjMiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI2MTo1LTYyOjIwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNjE6NS02MToxOCIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTAiIGxvY2F0b3I9IjYxOjUtNjE6MTYiIG5hbWU9Im9ic2VydmF0aW9ucyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjExNCIgbG9jYXRvcj0iNjI6Ny02MjoyMCI+CiAgICAgICAgICAgICAgICAgIDxieSBsb2NhbElkPSIxMTMiIGxvY2F0b3I9IjYyOjE1LTYyOjIwIiBkaXJlY3Rpb249ImFzYyIgcGF0aD0iaXNzdWVkIiB4c2k6dHlwZT0iQnlDb2x1bW4iLz4KICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvYnNlcnZhdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI1OTozOS01OTo1NSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjEwOCIgbG9jYXRvcj0iNTk6NDQtNTk6NTQiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjciIGxvY2F0b3I9IjY1OjEtNjk6MyIgbmFtZT0iTGF0ZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBMYXRlc3Qob2JzZXJ2YXRpb25zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPk9ic2VydmF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGFzdCgKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9ic2VydmF0aW9uczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE88L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNvcnQgYnkgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlzc3VlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSI2NjozLTY5OjMiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjUiIGxvY2F0b3I9IjY3OjUtNjg6MjAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTIxIiBsb2NhdG9yPSI2Nzo1LTY3OjE4IiBhbGlhcz0iTyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iNjc6NS02NzoxNiIgbmFtZT0ib2JzZXJ2YXRpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvcnQgbG9jYWxJZD0iMTI0IiBsb2NhdG9yPSI2ODo3LTY4OjIwIj4KICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjEyMyIgbG9jYXRvcj0iNjg6MTUtNjg6MjAiIGRpcmVjdGlvbj0iYXNjIiBwYXRoPSJpc3N1ZWQiIHhzaTp0eXBlPSJCeUNvbHVtbiIvPgogICAgICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9ic2VydmF0aW9ucyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTkiIGxvY2F0b3I9IjY1OjM3LTY1OjUzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMTE4IiBsb2NhdG9yPSI2NTo0Mi02NTo1MiIgbmFtZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNyIgbG9jYXRvcj0iNzE6MS03NTozIiBuYW1lPSJNb3N0UmVjZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBNb3N0UmVjZW50KG9ic2VydmF0aW9ucyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjkiPgogICAgICAgICAgICAgICAgICA8YTpzPkxpc3QmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5PYnNlcnZhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vYnNlcnZhdGlvbnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zb3J0IGJ5IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pc3N1ZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iNzI6My03NTozIiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI3Mzo1LTc0OjIwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iNzM6NS03MzoxOCIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzAiIGxvY2F0b3I9IjczOjUtNzM6MTYiIG5hbWU9Im9ic2VydmF0aW9ucyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjEzNCIgbG9jYXRvcj0iNzQ6Ny03NDoyMCI+CiAgICAgICAgICAgICAgICAgIDxieSBsb2NhbElkPSIxMzMiIGxvY2F0b3I9Ijc0OjE1LTc0OjIwIiBkaXJlY3Rpb249ImFzYyIgcGF0aD0iaXNzdWVkIiB4c2k6dHlwZT0iQnlDb2x1bW4iLz4KICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvYnNlcnZhdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI3MTo0MS03MTo1NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNzE6NDYtNzE6NTYiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNTAiIGxvY2F0b3I9Ijc3OjEtODE6NSIgbmFtZT0iTW9zdFJlY2VudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gTW9zdFJlY2VudChwcm9jZWR1cmVzIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlByb2NlZHVyZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wcm9jZWR1cmVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZDPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iNzg6My04MTo1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ4IiBsb2NhdG9yPSI3OTo1LTgwOjQ3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE0MSIgbG9jYXRvcj0iNzk6NS03OToxNiIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDAiIGxvY2F0b3I9Ijc5OjUtNzk6MTQiIG5hbWU9InByb2NlZHVyZXMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c29ydCBsb2NhbElkPSIxNDciIGxvY2F0b3I9IjgwOjctODA6NDciPgogICAgICAgICAgICAgICAgICA8YnkgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI4MDoxNS04MDo0NyIgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDUiIGxvY2F0b3I9IjgwOjE1LTgwOjQ3IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjgwOjI0LTgwOjQ3IiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iODA6MzgtODA6NDYiIG5hbWU9InBlcmZvcm1lZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvYnk+CiAgICAgICAgICAgICAgIDwvc29ydD4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icHJvY2VkdXJlcyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzkiIGxvY2F0b3I9Ijc3OjM5LTc3OjUzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSI3Nzo0NC03Nzo1MiIgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjIiIGxvY2F0b3I9IjgzOjEtODc6MyIgbmFtZT0iTG93ZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBMb3dlc3Qob2JzZXJ2YXRpb25zIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TGlzdCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPk9ic2VydmF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vYnNlcnZhdGlvbnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zb3J0IGJ5IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iODQ6My04NzozIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iODU6NS04NjozOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTQiIGxvY2F0b3I9Ijg1OjUtODU6MTgiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUzIiBsb2NhdG9yPSI4NTo1LTg1OjE2IiBuYW1lPSJvYnNlcnZhdGlvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c29ydCBsb2NhbElkPSIxNTkiIGxvY2F0b3I9Ijg2OjctODY6MzgiPgogICAgICAgICAgICAgICAgICA8YnkgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSI4NjoxNS04NjozOCIgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNTciIGxvY2F0b3I9Ijg2OjE1LTg2OjM4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9Ijg2OjE2LTg2OjIwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNTYiIGxvY2F0b3I9Ijg2OjI1LTg2OjM3IiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9ieT4KICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvYnNlcnZhdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSI4MzozNy04Mzo1MyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iODM6NDItODM6NTIiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNzQiIGxvY2F0b3I9Ijg5OjEtOTM6MyIgbmFtZT0iSGlnaGVzdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gSGlnaGVzdChvYnNlcnZhdGlvbnMgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5MaXN0Jmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+T2JzZXJ2YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTczIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2JzZXJ2YXRpb25zPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjkwOjMtOTM6MyIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iOTE6NS05MjozOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjkxOjUtOTE6MTgiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSI5MTo1LTkxOjE2IiBuYW1lPSJvYnNlcnZhdGlvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c29ydCBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjkyOjctOTI6MzgiPgogICAgICAgICAgICAgICAgICA8YnkgbG9jYWxJZD0iMTcwIiBsb2NhdG9yPSI5MjoxNS05MjozOCIgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjkyOjE1LTkyOjM4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjkyOjE2LTkyOjIwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjkyOjI1LTkyOjM3IiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9ieT4KICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvYnNlcnZhdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSI4OTozOC04OTo1NCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iODk6NDMtODk6NTMiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjEwMToxLTEwNDoxMCIgbmFtZT0iRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb25zKGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMDI6My0xMDQ6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTc4IiBsb2NhdG9yPSIxMDI6My0xMDI6MjgiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMDI6My0xMDI6MjYiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iMTAzOjQtMTAzOjc4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODAiIGxvY2F0b3I9IjEwMzoxMC0xMDM6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTAzOjE4LTEwMzo3OCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMDM6MTktMTAzOjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMDM6NzYtMTAzOjc3IiBuYW1lPSJpZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTA0OjMtMTA0OjEwIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxMDQ6MTAiIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjEwMTo0My0xMDE6NTYiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjEwMTo2Mi0xMDE6NjciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxMTE6MS0xMTI6NDkiIG5hbWU9IkV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTk1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBXSE8gY29yZSBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCiovCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIGlkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTk0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RXh0ZW5zaW9ucyZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iMTEyOjMtMTEyOjQ5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MyIgbG9jYXRvcj0iMTEyOjE4LTExMjo0OSIgbmFtZT0iRXh0ZW5zaW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkxIiBsb2NhdG9yPSIxMTI6MzEtMTEyOjQ0IiBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSIxMTI6NDctMTEyOjQ4IiBuYW1lPSJpZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTExOjQyLTExMTo1NSIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTExOjYxLTExMTo2NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMDkiIGxvY2F0b3I9IjExOToxLTEyMjoxMCIgbmFtZT0iRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uIEV4dGVuc2lvbnMoZWxlbWVudCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZWxlbWVudC5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEyMDozLTEyMjoxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjEyMDozLTEyMDoyMSIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjEyMDozLTEyMDoxOSIgcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMDUiIGxvY2F0b3I9IjEyMTo0LTEyMTo3OCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjE6MTAtMTIxOjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDQiIGxvY2F0b3I9IjEyMToxOC0xMjE6NzgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTIxOjE5LTEyMTo3MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMyIgbG9jYXRvcj0iMTIxOjc2LTEyMTo3NyIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyMDciIGxvY2F0b3I9IjEyMjozLTEyMjoxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMTIyOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZWxlbWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxOTYiIGxvY2F0b3I9IjExOTozNi0xMTk6NDIiIG5hbWU9ImZoaXI6RWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE5NyIgbG9jYXRvcj0iMTE5OjQ4LTExOTo1MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjEyOToxLTEzMDo0MCIgbmFtZT0iRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIFdITyBjb3JlIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KKi8KZGVmaW5lIGZ1bmN0aW9uIEV4dGVuc2lvbihlbGVtZW50IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIGlkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RXh0ZW5zaW9ucyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSIxMzA6My0xMzA6NDAiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMzA6MTgtMTMwOjQwIiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjEzMDoyOS0xMzA6MzUiIG5hbWU9ImVsZW1lbnQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTMwOjM4LTEzMDozOSIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxMCIgbG9jYXRvcj0iMTI5OjM1LTEyOTo0MSIgbmFtZT0iZmhpcjpFbGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjk6NDctMTI5OjUyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTM4OjEtMTQxOjEwIiBuYW1lPSJNb2RpZmllckV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBXSE8gY29yZSBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2UubW9kaWZpZXJFeHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjEzOTozLTE0MToxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjEzOTozLTEzOTozNiIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjEzOTozLTEzOTozNCIgcGF0aD0ibW9kaWZpZXJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjE0MDo0LTE0MDo3OCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxNDA6MTAtMTQwOjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjE0MDoxOC0xNDA6NzgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTQwOjE5LTE0MDo3MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMTQwOjc2LTE0MDo3NyIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjE0MTozLTE0MToxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMTQxOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxMzg6NTEtMTM4OjY0IiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iaWQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxMzg6NzAtMTM4Ojc1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iMTQ4OjEtMTQ5OjU1IiBuYW1lPSJNb2RpZmllckV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM3Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBXSE8gY29yZSBtb2RpZmllciBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLgoqLwpkZWZpbmUgZnVuY3Rpb24gTW9kaWZpZXJFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIGlkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TW9kaWZpZXJFeHRlbnNpb25zKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM2IiBsb2NhdG9yPSIxNDk6My0xNDk6NTUiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM1IiBsb2NhdG9yPSIxNDk6MTgtMTQ5OjU1IiBuYW1lPSJNb2RpZmllckV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTQ5OjM3LTE0OTo1MCIgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMTQ5OjUzLTE0OTo1NCIgbmFtZT0iaWQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE0ODo1MC0xNDg6NjMiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE0ODo2OS0xNDg6NzQiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIxNTY6MS0xNTk6MTAiIG5hbWU9Ik1vZGlmaWVyRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUxIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9ucyhlbGVtZW50IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+QmFja2JvbmVFbGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgaWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVsZW1lbnQubW9kaWZpZXJFeHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjE1NzozLTE1OToxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNDEiIGxvY2F0b3I9IjE1NzozLTE1NzoyOSIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjE1NzozLTE1NzoyNyIgcGF0aD0ibW9kaWZpZXJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZWxlbWVudCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTU4OjQtMTU4Ojc4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjE1ODoxMC0xNTg6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTU4OjE4LTE1ODo3OCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxNTg6MTktMTU4OjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxNTg6NzYtMTU4Ojc3IiBuYW1lPSJpZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTU5OjMtMTU5OjEwIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSIxNTk6MTAiIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJlbGVtZW50Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMTU2OjQ0LTE1Njo1OCIgbmFtZT0iZmhpcjpCYWNrYm9uZUVsZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJpZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjE1Njo2NC0xNTY6NjkiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNjY6MS0xNjc6NDgiIG5hbWU9Ik1vZGlmaWVyRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLgpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4KKi8KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9uKGVsZW1lbnQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5CYWNrYm9uZUVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBpZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1vZGlmaWVyRXh0ZW5zaW9ucyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVsZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSIxNjc6My0xNjc6NDgiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU2IiBsb2NhdG9yPSIxNjc6MTgtMTY3OjQ4IiBuYW1lPSJNb2RpZmllckV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iMTY3OjM3LTE2Nzo0MyIgbmFtZT0iZWxlbWVudCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIxNjc6NDYtMTY3OjQ3IiBuYW1lPSJpZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImVsZW1lbnQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxNjY6NDMtMTY2OjU3IiBuYW1lPSJmaGlyOkJhY2tib25lRWxlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImlkIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMTY2OjYzLTE2Njo2OCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMjU4IiwKICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJsaWJyYXJ5IFdIT0NvbW1vbiIgXQogICAgICAgICAgICB9IF0KICAgICAgICAgfQogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJXSE9Db21tb24iLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInVzaW5nICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzQuMC4xJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjM1IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVJIZWxwZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInNC4wLjEnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjI4IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvc21hcnQtaW1tdW5pemF0aW9ucy1tZWFzbGVzL0ZISVJDb21tb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkNvbW1vbiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJGQyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOToxNSIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTI6NTciLAogICAgICAgICAgICAibmFtZSIgOiAiT2ZmaWNpYWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPZmZpY2lhbCIsIigiLCJpZGVudGlmaWVycyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSWRlbnRpZmllciIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkZW50aWZpZXJzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInb2ZmaWNpYWwnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6My0xMjo1NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MTgtMTI6NTciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjoxOS0xMjozMSIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiSSIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MTktMTI6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWRlbnRpZmllcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MzMtMTI6NTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjozOS0xMjo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1c2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjo0Ny0xMjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJvZmZpY2lhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWRlbnRpZmllcnMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTozOC0xMTo1MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjQzLTExOjUyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUlkZW50aWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTU6NTUiLAogICAgICAgICAgICAibmFtZSIgOiAiT2ZmaWNpYWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPZmZpY2lhbCIsIigiLCJhZGRyZXNzZXMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQWRkcmVzcyIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYWRkcmVzc2VzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkEiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXNlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInb2ZmaWNpYWwnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6My0xNTo1NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MTgtMTU6NTUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MTktMTU6MjkiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkEiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNToxOS0xNToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhZGRyZXNzZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MzEtMTU6NTQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6MzctMTU6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJBIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6NDUtMTU6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAib2ZmaWNpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImFkZHJlc3NlcyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDozNi0xNDo0OCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDo0MS0xNDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BZGRyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzoxLTE4OjUxIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9mZmljaWFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjM2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiT2ZmaWNpYWwiLCIoIiwibmFtZXMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSHVtYW5OYW1lIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJuYW1lcyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJOIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInVzZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCI9IiwiICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ29mZmljaWFsJyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjMtMTg6NTEiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjM0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjE4LTE4OjUxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OjE5LTE4OjI1IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJOIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MTktMTg6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibmFtZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MjctMTg6NTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6MzMtMTg6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg6NDEtMTg6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAib2ZmaWNpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIm5hbWVzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OjMyLTE3OjQ2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OjM3LTE3OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUh1bWFuTmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNDciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA6MS0yMTo1NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJNb2JpbGUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNDciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJNb2JpbGUiLCIoIiwiY29udGFjdFBvaW50cyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMzgiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDb250YWN0UG9pbnQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvbnRhY3RQb2ludHMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiUCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1c2UiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIidtb2JpbGUnIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE6My0yMTo1NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE6MTgtMjE6NTciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNDAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE6MTktMjE6MzMiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMToxOS0yMTozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb250YWN0UG9pbnRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQ0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjM1LTIxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjQxLTIxOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOjQ5LTIxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1vYmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29udGFjdFBvaW50cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDozOC0yMDo1NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIzNyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDo0My0yMDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db250YWN0UG9pbnQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjUyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjQ6MjYiLAogICAgICAgICAgICAibmFtZSIgOiAiT25seSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk9ubHkiLCIoIiwiYWxsZXJnaWVzIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI0OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFsbGVyZ3lJbnRvbGVyYW5jZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJhbGxlcmdpZXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDozLTI0OjI2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDoxOC0yNDoyNiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhbGxlcmdpZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImFsbGVyZ2llcyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzozMi0yMzo1NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI0OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzozNy0yMzo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1BbGxlcmd5SW50b2xlcmFuY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjU3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjEtMjc6MjkiLAogICAgICAgICAgICAibmFtZSIgOiAiT25seSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1NyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk9ubHkiLCIoIiwiYXBwb2ludG1lbnRzIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI1NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkFwcG9pbnRtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImFwcG9pbnRtZW50cyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OjMtMjc6MjkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OjE4LTI3OjI5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImFwcG9pbnRtZW50cyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiYXBwb2ludG1lbnRzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjM1LTI2OjUxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjQwLTI2OjUwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUFwcG9pbnRtZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxLTMwOjI2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ubHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNjIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPbmx5IiwiKCIsImNhcmVwbGFucyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNTkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDYXJlUGxhbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYxIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjYXJlcGxhbnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDozLTMwOjI2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDoxOC0zMDoyNiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjYXJlcGxhbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNhcmVwbGFucyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTozMi0yOTo0NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI1OCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTozNy0yOTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1DYXJlUGxhbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNjciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMzI6MS0zMzoyNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPbmx5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjY3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiT25seSIsIigiLCJjb25kaXRpb25zIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNvbmRpdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJjb25kaXRpb25zIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6My0zMzoyNyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6MTgtMzM6MjciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjozMy0zMjo0NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI2MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjozOC0zMjo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjcyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjEtMzY6MjciLAogICAgICAgICAgICAibmFtZSIgOiAiT25seSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk9ubHkiLCIoIiwiZW5jb3VudGVycyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbmNvdW50ZXIiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZW5jb3VudGVycyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjMtMzY6MjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjcwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjE4LTM2OjI3IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImVuY291bnRlcnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVuY291bnRlcnMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MzMtMzU6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNjgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MzgtMzU6NDYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODoxLTM5OjMwIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ubHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiNzciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPbmx5IiwiKCIsImltbXVuaXphdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW1tdW5pemF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiNzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImltbXVuaXphdGlvbnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOTozLTM5OjMwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3NSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOToxOC0zOTozMCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbW11bml6YXRpb25zIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbW11bml6YXRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjc0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjM2LTM4OjUzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjczIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjQxLTM4OjUyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUltbXVuaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiODIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MS00MjozNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPbmx5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiT25seSIsIigiLCJtZWRpY2F0aW9ucmVxdWVzdHMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjc5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTWVkaWNhdGlvblJlcXVlc3QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODEiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAibWVkaWNhdGlvbnJlcXVlc3RzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6My00MjozNSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiODAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MTgtNDI6MzUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWVkaWNhdGlvbnJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9ucmVxdWVzdHMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6NDEtNDE6NjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNzgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6NDYtNDE6NjIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjg3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDU6MjkiLAogICAgICAgICAgICAibmFtZSIgOiAiT25seSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI4NyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk9ubHkiLCIoIiwib2JzZXJ2YXRpb25zIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9ic2VydmF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiODYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm9ic2VydmF0aW9ucyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjMtNDU6MjkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjE4LTQ1OjI5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAib2JzZXJ2YXRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjM1LTQ0OjUxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjgzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjQwLTQ0OjUwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzoxLTQ4OjI3IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ubHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiOTIiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPbmx5IiwiKCIsInByb2NlZHVyZXMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI4OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUHJvY2VkdXJlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTEiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInByb2NlZHVyZXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0ODozLTQ4OjI3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0ODoxOC00ODoyNyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcm9jZWR1cmVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcm9jZWR1cmVzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjMzLTQ3OjQ3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjg4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjM4LTQ3OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiOTciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MTozMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPbmx5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjk3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiT25seSIsIigiLCJzZXJ2aWNlUmVxdWVzdHMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjk0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU2VydmljZVJlcXVlc3QiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2VydmljZVJlcXVlc3RzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6My01MTozMiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6MTgtNTE6MzIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAic2VydmljZVJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJzZXJ2aWNlUmVxdWVzdHMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MzgtNTA6NTciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6NDMtNTA6NTYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxLTU0OjI0IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ubHkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiT25seSIsIigiLCJkb3NhZ2VzIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5OSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvc2FnZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkb3NhZ2VzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjMtNTQ6MjQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwMCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxOC01NDoyNCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUzOjMwLTUzOjQxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjk4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUzOjM1LTUzOjQwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURvc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjEtNTc6MjIiLAogICAgICAgICAgICAibmFtZSIgOiAiT25seSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJPbmx5IiwiKCIsImRvc2VzIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDQiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJEb3NhZ2UiLCIuIiwiRG9zZUFuZFJhdGUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIj4iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMDYiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZG9zZXMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDYiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6My01NzoyMiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTA1IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjE4LTU3OjIyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlcyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6MjgtNTY6NTYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTAzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjMzLTU2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfURvc2FnZS5Eb3NlQW5kUmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE3IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjEtNjM6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFYXJsaWVzdCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJFYXJsaWVzdCIsIigiLCJvYnNlcnZhdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEwOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPYnNlcnZhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGaXJzdCIsIihcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvYnNlcnZhdGlvbnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic29ydCBieSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlzc3VlZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDozLTYzOjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MTo1LTYyOjIwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjExMSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MTo1LTYxOjE4IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYxOjUtNjE6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAib2JzZXJ2YXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNvcnQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYyOjctNjI6MjAiLAogICAgICAgICAgICAgICAgICAgICAiYnkiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjI6MTUtNjI6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIiA6ICJhc2MiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaXNzdWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkJ5Q29sdW1uIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAib2JzZXJ2YXRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTozOS01OTo1NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMDgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6NDQtNTk6NTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NToxLTY5OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiTGF0ZXN0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjEyNyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkxhdGVzdCIsIigiLCJvYnNlcnZhdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjExOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPYnNlcnZhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKFxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm9ic2VydmF0aW9ucyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzb3J0IGJ5ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaXNzdWVkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjMtNjk6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMYXN0IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6NS02ODoyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6NS02NzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Nzo1LTY3OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJzb3J0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEyNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2ODo3LTY4OjIwIiwKICAgICAgICAgICAgICAgICAgICAgImJ5IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjE1LTY4OjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiIgOiAiYXNjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlzc3VlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJCeUNvbHVtbiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMTkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTE4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjQyLTY1OjUyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6MS03NTozIiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vc3RSZWNlbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTM3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiTW9zdFJlY2VudCIsIigiLCJvYnNlcnZhdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEyOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPYnNlcnZhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzNiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMYXN0IiwiKFxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIm9ic2VydmF0aW9ucyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJPIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzb3J0IGJ5ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiaXNzdWVkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM2IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjMtNzU6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMYXN0IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NS03NDoyMCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMzEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NS03MzoxOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo1LTczOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJzb3J0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDo3LTc0OjIwIiwKICAgICAgICAgICAgICAgICAgICAgImJ5IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjE1LTc0OjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiIgOiAiYXNjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlzc3VlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJCeUNvbHVtbiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMjkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6NDEtNzE6NTciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTI4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjQ2LTcxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6MS04MTo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vc3RSZWNlbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTUwIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgZnVuY3Rpb24gIiwiTW9zdFJlY2VudCIsIigiLCJwcm9jZWR1cmVzIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMzkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxpc3Q8IiBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiUHJvY2VkdXJlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDkiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicHJvY2VkdXJlcyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJQIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4gICAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzb3J0IGJ5ICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic3RhcnQgb2YgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGQyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlRvSW50ZXJ2YWwiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicGVyZm9ybWVkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE0OSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODozLTgxOjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjUtODA6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQxIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjUtNzk6MTYiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6NS03OToxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcm9jZWR1cmVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNvcnQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjctODA6NDciLAogICAgICAgICAgICAgICAgICAgICAiYnkiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTUtODA6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIiA6ICJhc2MiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQnlFeHByZXNzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjE1LTgwOjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjI0LTgwOjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MzgtODA6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyZm9ybWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklkZW50aWZpZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInByb2NlZHVyZXMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTM5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjM5LTc3OjUzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo0NC03Nzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2MiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoxLTg3OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiTG93ZXN0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2MiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkxvd2VzdCIsIigiLCJvYnNlcnZhdGlvbnMiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1MiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiTGlzdDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJPYnNlcnZhdGlvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGaXJzdCIsIihcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJvYnNlcnZhdGlvbnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiTyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic29ydCBieSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInZhbHVlIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYXMgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIsIi4iLCJRdWFudGl0eSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICApIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjEiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6My04NzozIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6NS04NjozOCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTQiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6NS04NToxOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NTo1LTg1OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJzb3J0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1OSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Njo3LTg2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgImJ5IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg2OjE1LTg2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiIgOiAiYXNjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkJ5RXhwcmVzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjoxNS04NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjoxNi04NjoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZGVudGlmaWVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NjoyNS04NjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAib2JzZXJ2YXRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE1MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzozNy04Mzo1MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNTEiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6NDItODM6NTIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3NCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxLTkzOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiSGlnaGVzdCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSBmdW5jdGlvbiAiLCJIaWdoZXN0IiwiKCIsIm9ic2VydmF0aW9ucyIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY0IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJMaXN0PCIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk9ic2VydmF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICI+IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTczIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzMiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkxhc3QiLCIoXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAib2JzZXJ2YXRpb25zIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIk8iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNvcnQgYnkgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ2YWx1ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFzICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiLCIuIiwiUXVhbnRpdHkiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTczIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjMtOTM6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMYXN0IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6NS05MjozOCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6NS05MToxOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo1LTkxOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9ic2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJzb3J0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3LTkyOjM4IiwKICAgICAgICAgICAgICAgICAgICAgImJ5IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjE1LTkyOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiIgOiAiYXNjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkJ5RXhwcmVzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxNS05MjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxNi05MjoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZGVudGlmaWVyUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoyNS05MjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAib2JzZXJ2YXRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2NCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozOC04OTo1NCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNjMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NDMtODk6NTMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6MS0xMDQ6MTAiLAogICAgICAgICAgICAibmFtZSIgOiAiRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxODgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLlxuQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzXG5jb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZVxuQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkV4dGVuc2lvbnMiLCIoIiwiZG9tYWluUmVzb3VyY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9tYWluUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODciLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRvbWFpblJlc291cmNlIiwiLiIsImV4dGVuc2lvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1cmwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTg2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjMtMTA0OjEwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE3OCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6My0xMDI6MjgiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzciLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjMtMTAyOjI2IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODQiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjQtMTAzOjc4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTAtMTAzOjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVybCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTgtMTAzOjc4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODEiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjE5LTEwMzo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6NzYtMTAzOjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxODYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA0OjMtMTA0OjEwIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg1IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNDoxMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNzUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjQzLTEwMTo1NiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Eb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTc2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMTo2Mi0xMDE6NjciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjEtMTEyOjQ5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTUiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBXSE8gY29yZSBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiRXh0ZW5zaW9uIiwiKCIsImRvbWFpblJlc291cmNlIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxODkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRvbWFpblJlc291cmNlIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTAiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5NCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkV4dGVuc2lvbnNcIiIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5NCIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6My0xMTI6NDkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MTgtMTEyOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MzEtMTEyOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvbWFpblJlc291cmNlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6NDctMTEyOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTg5IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMTo0Mi0xMTE6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5MCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6NjEtMTExOjY2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA5IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToxLTEyMjoxMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFeHRlbnNpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIwOSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgV0hPIGNvcmUgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzc1xuY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIkV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwOCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbGVtZW50IiwiLiIsImV4dGVuc2lvbiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdCAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAid2hlcmUgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ1cmwiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiPSIsIiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICInaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyciIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiArICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcblx0XHQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDgiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjMtMTIyOjEwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjE5OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6My0xMjA6MjEiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxOTgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjMtMTIwOjE5IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NC0xMjE6NzgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMToxMC0xMjE6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMToxOC0xMjE6NzgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MTktMTIxOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjAzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo3Ni0xMjE6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwNyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6My0xMjI6MTAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk2IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTozNi0xMTk6NDIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMTk3IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo0OC0xMTk6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjEtMTMwOjQwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuc2lvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBXSE8gY29yZSBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlXG5pcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiRXh0ZW5zaW9uIiwiKCIsImVsZW1lbnQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxMCIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJpZCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAic2luZ2xldG9uIGZyb20gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRXh0ZW5zaW9ucyIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJlbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImlkIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDozLTEzMDo0MCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoxOC0xMzA6NDAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEyIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoyOS0xMzA6MzUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTMiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjM4LTEzMDozOSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOTozNS0xMjk6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjExIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyOTo0Ny0xMjk6NTIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzAiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjEtMTQxOjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLlxuQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzXG5jb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZVxuQ1FMIG1vZGVsIGluZm8uXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk1vZGlmaWVyRXh0ZW5zaW9ucyIsIigiLCJkb21haW5SZXNvdXJjZSIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE3IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJEb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiLCJpZCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJTdHJpbmciIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIik6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjkiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZG9tYWluUmVzb3VyY2UiLCIuIiwibW9kaWZpZXJFeHRlbnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOTozLTE0MToxMCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjAiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjMtMTM5OjM2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE5IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOTozLTEzOTozNCIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtb2RpZmllckV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjYiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjQtMTQwOjc4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6MTAtMTQwOjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInVybCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNSIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6MTgtMTQwOjc4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjE5LTE0MDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6NzYtMTQwOjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjgiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjMtMTQxOjEwIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI3IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MToxMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjUxLTEzODo2NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Eb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODo3MC0xMzg6NzUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ4OjEtMTQ5OjU1IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLypcbkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC5cbkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlXG5pcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC5cbiovXG4iLCJkZWZpbmUgZnVuY3Rpb24gIiwiTW9kaWZpZXJFeHRlbnNpb24iLCIoIiwiZG9tYWluUmVzb3VyY2UiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRG9tYWluUmVzb3VyY2UiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM2IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzYiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInNpbmdsZXRvbiBmcm9tICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1vZGlmaWVyRXh0ZW5zaW9ucyIsIigiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJkb21haW5SZXNvdXJjZSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNiIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6My0xNDk6NTUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6MTgtMTQ5OjU1IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OTozNy0xNDk6NTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9tYWluUmVzb3VyY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OTo1My0xNDk6NTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ4OjUwLTE0ODo2MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Eb21haW5SZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODo2OS0xNDg6NzQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTU2OjEtMTU5OjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTEiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qXG5AZGVzY3JpcHRpb246IFJldHVybnMgYW55IFdITyBjb3JlIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuXG5AY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3NcbmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLlxuKi9cbiIsImRlZmluZSBmdW5jdGlvbiAiLCJNb2RpZmllckV4dGVuc2lvbnMiLCIoIiwiZWxlbWVudCIsIiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJCYWNrYm9uZUVsZW1lbnQiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiwgIiwiaWQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiU3RyaW5nIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIpOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUwIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImVsZW1lbnQiLCIuIiwibW9kaWZpZXJFeHRlbnNpb24iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiRSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuXHQgICIgXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIndoZXJlICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJFIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAidXJsIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIj0iLCIgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgKyAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG5cdFx0IiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAicmV0dXJuICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkUiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUwIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzozLTE1OToxMCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDEiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3OjMtMTU3OjI5IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQwIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzozLTE1NzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtb2RpZmllckV4dGVuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NyIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTg6NC0xNTg6NzgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1ODoxMC0xNTg6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidXJsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ2IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1ODoxOC0xNTg6NzgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTg6MTktMTU4OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1ODo3Ni0xNTg6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0OSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTk6My0xNTk6MTAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDgiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM4IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Njo0NC0xNTY6NTgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QmFja2JvbmVFbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzkiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU2OjY0LTE1Njo2OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1OCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjY6MS0xNjc6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiTW9kaWZpZXJFeHRlbnNpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjU4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgV0hPIGNvcmUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuXG5AY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZVxuaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuXG4qL1xuIiwiZGVmaW5lIGZ1bmN0aW9uICIsIk1vZGlmaWVyRXh0ZW5zaW9uIiwiKCIsImVsZW1lbnQiLCIgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MiIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiQmFja2JvbmVFbGVtZW50IiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIsICIsImlkIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTMiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlN0cmluZyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKTpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJzaW5nbGV0b24gZnJvbSAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNb2RpZmllckV4dGVuc2lvbnMiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZWxlbWVudCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLCAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJpZCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NyIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6My0xNjc6NDgiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTgtMTY3OjQ4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vZGlmaWVyRXh0ZW5zaW9ucyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU0IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NzozNy0xNjc6NDMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZWxlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjQ2LTE2Nzo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImVsZW1lbnQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Njo0My0xNjY6NTciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9QmFja2JvbmVFbGVtZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTMiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjYzLTE2Njo2OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts-2.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts-2.json new file mode 100644 index 0000000000..91f1cbc80d --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts-2.json @@ -0,0 +1,201 @@ +{ + "library" : { + "annotation" : [ { + "translatorOptions" : "EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion", + "type" : "CqlToElmInfo" + }, { + "type" : "Annotation", + "s" : { + "r" : "11", + "s" : [ { + "value" : [ "","library WHOConcepts" ] + } ] + } + } ], + "identifier" : { + "id" : "WHOConcepts", + "system" : "http://smart.who.int/smart-immunizations-measles" + }, + "schemaIdentifier" : { + "id" : "urn:hl7-org:elm", + "version" : "r1" + }, + "usings" : { + "def" : [ { + "localIdentifier" : "System", + "uri" : "urn:hl7-org:elm-types:r1" + } ] + }, + "codeSystems" : { + "def" : [ { + "localId" : "1", + "locator" : "4:1-4:53", + "name" : "ICD-10", + "id" : "http://hl7.org/fhir/sid/icd-10", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "1", + "s" : [ { + "value" : [ "// Code Systems\n","codesystem ","\"ICD-10\"",": ","'http://hl7.org/fhir/sid/icd-10'" ] + } ] + } + } ] + }, { + "localId" : "2", + "locator" : "5:1-5:48", + "name" : "SNOMED-CT", + "id" : "http://snomed.info/sct", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "2", + "s" : [ { + "value" : [ "","codesystem ","\"SNOMED-CT\"",": ","'http://snomed.info/sct'" ] + } ] + } + } ] + }, { + "localId" : "3", + "locator" : "6:1-6:38", + "name" : "LOINC", + "id" : "http://loinc.org", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "3", + "s" : [ { + "value" : [ "","codesystem ","\"LOINC\"",": ","'http://loinc.org'" ] + } ] + } + } ] + }, { + "localId" : "4", + "locator" : "7:1-7:66", + "name" : "RxNorm", + "id" : "http://www.nlm.nih.gov/research/umls/rxnorm", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "4", + "s" : [ { + "value" : [ "","codesystem ","\"RxNorm\"",": ","'http://www.nlm.nih.gov/research/umls/rxnorm'" ] + } ] + } + } ] + }, { + "localId" : "5", + "locator" : "8:1-8:49", + "name" : "CIEL", + "id" : "http://hl7.org/fhir/sid/ciel", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "5", + "s" : [ { + "value" : [ "","codesystem ","\"CIEL\"",": ","'http://hl7.org/fhir/sid/ciel'" ] + } ] + } + } ] + }, { + "localId" : "6", + "locator" : "9:1-9:57", + "name" : "ICD-11", + "id" : "http://hl7.org/fhir/sid/icd-11/mms", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "6", + "s" : [ { + "value" : [ "","codesystem ","\"ICD-11\"",": ","'http://hl7.org/fhir/sid/icd-11/mms'" ] + } ] + } + } ] + }, { + "localId" : "7", + "locator" : "10:1-10:77", + "name" : "ICHI", + "id" : "https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "7", + "s" : [ { + "value" : [ "","codesystem ","\"ICHI\"",": ","'https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi'" ] + } ] + } + } ] + }, { + "localId" : "8", + "locator" : "11:1-11:50", + "name" : "ICF", + "id" : "http://hl7.org/fhir/sid/icf-nl", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "8", + "s" : [ { + "value" : [ "","codesystem ","\"ICF\"",": ","'http://hl7.org/fhir/sid/icf-nl'" ] + } ] + } + } ] + }, { + "localId" : "9", + "locator" : "12:1-12:110", + "name" : "Extended Codes CodeSystem codes", + "id" : "http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "9", + "s" : [ { + "value" : [ "","codesystem ","\"Extended Codes CodeSystem codes\"",": ","'http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes'" ] + } ] + } + } ] + } ] + }, + "valueSets" : { + "def" : [ { + "localId" : "10", + "locator" : "15:1-15:103", + "name" : "Pregnancy Status Pregnant", + "id" : "http://fhir.org/guides/who/core/ValueSet/pregnancystatus-values", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "10", + "s" : [ { + "value" : [ "// ValuSets\n","valueset ","\"Pregnancy Status Pregnant\"",": ","'http://fhir.org/guides/who/core/ValueSet/pregnancystatus-values'" ] + } ] + } + } ] + }, { + "localId" : "11", + "locator" : "16:1-16:76", + "name" : "Adverse Events", + "id" : "http://hl7.org/fhir/ValueSet/adverse-event-type", + "accessLevel" : "Public", + "annotation" : [ { + "type" : "Annotation", + "s" : { + "r" : "11", + "s" : [ { + "value" : [ "","valueset ","\"Adverse Events\"",": ","'http://hl7.org/fhir/ValueSet/adverse-event-type'" ] + } ] + } + } ] + } ] + } + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts.json b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts.json new file mode 100644 index 0000000000..516c69b6f1 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/Library-WHOConcepts.json @@ -0,0 +1,90 @@ +{ + "resourceType" : "Library", + "id" : "WHOConcepts", + "text" : { + "status" : "generated", + "div" : "

Related Artifacts

depends-onICD-10
depends-onSNOMED CT (all versions)
depends-onLogical Observation Identifiers, Names and Codes (LOINC)
depends-onRxNorm
depends-onhttp://hl7.org/fhir/sid/ciel
depends-onICD-11
depends-onhttps://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi
depends-onInternational Classification of Functioning, Disability and Health, Dutch Translation
depends-onhttp://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes
depends-onhttp://fhir.org/guides/who/core/ValueSet/pregnancystatus-values
depends-onSNOMED CT Clinical Findings

Contents

text/cql

library WHOConcepts\r\n\r\n// Code Systems\r\ncodesystem "ICD-10": 'http://hl7.org/fhir/sid/icd-10'\r\ncodesystem "SNOMED-CT": 'http://snomed.info/sct'\r\ncodesystem "LOINC": 'http://loinc.org'\r\ncodesystem "RxNorm": 'http://www.nlm.nih.gov/research/umls/rxnorm'\r\ncodesystem "CIEL": 'http://hl7.org/fhir/sid/ciel'\r\ncodesystem "ICD-11": 'http://hl7.org/fhir/sid/icd-11/mms'\r\ncodesystem "ICHI": 'https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi'\r\ncodesystem "ICF": 'http://hl7.org/fhir/sid/icf-nl'\r\ncodesystem "Extended Codes CodeSystem codes": 'http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes'\r\n\r\n// ValuSets\r\nvalueset "Pregnancy Status Pregnant": 'http://fhir.org/guides/who/core/ValueSet/pregnancystatus-values'\r\nvalueset "Adverse Events": 'http://hl7.org/fhir/ValueSet/adverse-event-type'\r\n

Content not shown - (application/elm+xml, size = 4Kb)

Content not shown - (application/elm+json, size = 6Kb)

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/Library/WHOConcepts", + "version" : "0.1.0", + "name" : "WHOConcepts", + "title" : "WHOConcepts", + "status" : "draft", + "experimental" : false, + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/library-type", + "code" : "logic-library" + }] + }, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "This library defines common concepts used throughout WHO SMART Guidelines content", + "relatedArtifact" : [{ + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icd-10" + }, + { + "type" : "depends-on", + "resource" : "http://snomed.info/sct" + }, + { + "type" : "depends-on", + "resource" : "http://loinc.org" + }, + { + "type" : "depends-on", + "resource" : "http://www.nlm.nih.gov/research/umls/rxnorm" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/ciel" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icd-11/mms" + }, + { + "type" : "depends-on", + "resource" : "https://mitel.dimi.uniud.it/ichi/#http://id.who.int/ichi" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/sid/icf-nl" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/who/anc-cds/CodeSystem/anc-custom-codes" + }, + { + "type" : "depends-on", + "resource" : "http://fhir.org/guides/who/core/ValueSet/pregnancystatus-values" + }, + { + "type" : "depends-on", + "resource" : "http://hl7.org/fhir/ValueSet/adverse-event-type" + }], + "content" : [{ + "contentType" : "text/cql", + "data" : "bGlicmFyeSBXSE9Db25jZXB0cw0KDQovLyBDb2RlIFN5c3RlbXMNCmNvZGVzeXN0ZW0gIklDRC0xMCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTAnDQpjb2Rlc3lzdGVtICJTTk9NRUQtQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcNCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnDQpjb2Rlc3lzdGVtICJSeE5vcm0iOiAnaHR0cDovL3d3dy5ubG0ubmloLmdvdi9yZXNlYXJjaC91bWxzL3J4bm9ybScNCmNvZGVzeXN0ZW0gIkNJRUwiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvY2llbCcNCmNvZGVzeXN0ZW0gIklDRC0xMSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTEvbW1zJw0KY29kZXN5c3RlbSAiSUNISSI6ICdodHRwczovL21pdGVsLmRpbWkudW5pdWQuaXQvaWNoaS8jaHR0cDovL2lkLndoby5pbnQvaWNoaScNCmNvZGVzeXN0ZW0gIklDRiI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2YtbmwnDQpjb2Rlc3lzdGVtICJFeHRlbmRlZCBDb2RlcyBDb2RlU3lzdGVtIGNvZGVzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvQ29kZVN5c3RlbS9hbmMtY3VzdG9tLWNvZGVzJw0KDQovLyBWYWx1U2V0cw0KdmFsdWVzZXQgIlByZWduYW5jeSBTdGF0dXMgUHJlZ25hbnQiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9WYWx1ZVNldC9wcmVnbmFuY3lzdGF0dXMtdmFsdWVzJw0KdmFsdWVzZXQgIkFkdmVyc2UgRXZlbnRzIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvYWR2ZXJzZS1ldmVudC10eXBlJw0K" + }, + { + "contentType" : "application/elm+xml", + "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICA8YTpzPmxpYnJhcnkgV0hPQ29uY2VwdHM8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IldIT0NvbmNlcHRzIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L3NtYXJ0LWltbXVuaXphdGlvbnMtbWVhc2xlcyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICA8L3VzaW5ncz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjQ6MS00OjUzIiBuYW1lPSJJQ0QtMTAiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBDb2RlIFN5c3RlbXMKY29kZXN5c3RlbSAmcXVvdDtJQ0QtMTAmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTAnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjU6MS01OjQ4IiBuYW1lPSJTTk9NRUQtQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtTTk9NRUQtQ1QmcXVvdDs6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSI2OjEtNjozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9Ijc6MS03OjY2IiBuYW1lPSJSeE5vcm0iIGlkPSJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtSeE5vcm0mcXVvdDs6ICdodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1IiBsb2NhdG9yPSI4OjEtODo0OSIgbmFtZT0iQ0lFTCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2NpZWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0NJRUwmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9jaWVsJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSI5OjEtOTo1NyIgbmFtZT0iSUNELTExIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNkLTExL21tcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SUNELTExJnF1b3Q7OiAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNkLTExL21tcyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTA6MS0xMDo3NyIgbmFtZT0iSUNISSIgaWQ9Imh0dHBzOi8vbWl0ZWwuZGltaS51bml1ZC5pdC9pY2hpLyNodHRwOi8vaWQud2hvLmludC9pY2hpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtJQ0hJJnF1b3Q7OiAnaHR0cHM6Ly9taXRlbC5kaW1pLnVuaXVkLml0L2ljaGkvI2h0dHA6Ly9pZC53aG8uaW50L2ljaGknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjExOjEtMTE6NTAiIG5hbWU9IklDRiIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZi1ubCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7SUNGJnF1b3Q7OiAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNmLW5sJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxMjoxLTEyOjExMCIgbmFtZT0iRXh0ZW5kZWQgQ29kZXMgQ29kZVN5c3RlbSBjb2RlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2FuYy1jZHMvQ29kZVN5c3RlbS9hbmMtY3VzdG9tLWNvZGVzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtFeHRlbmRlZCBDb2RlcyBDb2RlU3lzdGVtIGNvZGVzJnF1b3Q7OiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9Db2RlU3lzdGVtL2FuYy1jdXN0b20tY29kZXMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxNToxLTE1OjEwMyIgbmFtZT0iUHJlZ25hbmN5IFN0YXR1cyBQcmVnbmFudCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvVmFsdWVTZXQvcHJlZ25hbmN5c3RhdHVzLXZhbHVlcyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBWYWx1U2V0cwp2YWx1ZXNldCAmcXVvdDtQcmVnbmFuY3kgU3RhdHVzIFByZWduYW50JnF1b3Q7OiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vY29yZS9WYWx1ZVNldC9wcmVnbmFuY3lzdGF0dXMtdmFsdWVzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMTY6MS0xNjo3NiIgbmFtZT0iQWR2ZXJzZSBFdmVudHMiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L2FkdmVyc2UtZXZlbnQtdHlwZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtBZHZlcnNlIEV2ZW50cyZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvYWR2ZXJzZS1ldmVudC10eXBlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC92YWx1ZVNldHM+CjwvbGlicmFyeT4K" + }, + { + "contentType" : "application/elm+json", + "data" : "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgInMiIDogewogICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImxpYnJhcnkgV0hPQ29uY2VwdHMiIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiV0hPQ29uY2VwdHMiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9zbWFydC1pbW11bml6YXRpb25zLW1lYXNsZXMiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZVN5c3RlbXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0OjEtNDo1MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJQ0QtMTAiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZC0xMCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gQ29kZSBTeXN0ZW1zXG4iLCJjb2Rlc3lzdGVtICIsIlwiSUNELTEwXCIiLCI6ICIsIidodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTAnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNOT01FRC1DVCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3Nub21lZC5pbmZvL3NjdCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiY29kZXN5c3RlbSAiLCJcIlNOT01FRC1DVFwiIiwiOiAiLCInaHR0cDovL3Nub21lZC5pbmZvL3NjdCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6MzgiLAogICAgICAgICAgICAibmFtZSIgOiAiTE9JTkMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9sb2luYy5vcmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjMiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJMT0lOQ1wiIiwiOiAiLCInaHR0cDovL2xvaW5jLm9yZyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNzoxLTc6NjYiLAogICAgICAgICAgICAibmFtZSIgOiAiUnhOb3JtIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiUnhOb3JtXCIiLCI6ICIsIidodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNSIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OjEtODo0OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDSUVMIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9jaWVsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI1IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiQ0lFTFwiIiwiOiAiLCInaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvY2llbCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjYiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6NTciLAogICAgICAgICAgICAibmFtZSIgOiAiSUNELTExIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTEvbW1zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiSUNELTExXCIiLCI6ICIsIidodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2QtMTEvbW1zJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiNyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDoxLTEwOjc3IiwKICAgICAgICAgICAgIm5hbWUiIDogIklDSEkiLAogICAgICAgICAgICAiaWQiIDogImh0dHBzOi8vbWl0ZWwuZGltaS51bml1ZC5pdC9pY2hpLyNodHRwOi8vaWQud2hvLmludC9pY2hpIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICI3IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJjb2Rlc3lzdGVtICIsIlwiSUNISVwiIiwiOiAiLCInaHR0cHM6Ly9taXRlbC5kaW1pLnVuaXVkLml0L2ljaGkvI2h0dHA6Ly9pZC53aG8uaW50L2ljaGknIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTE6NTAiLAogICAgICAgICAgICAibmFtZSIgOiAiSUNGIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3NpZC9pY2YtbmwiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjgiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJJQ0ZcIiIsIjogIiwiJ2h0dHA6Ly9obDcub3JnL2ZoaXIvc2lkL2ljZi1ubCciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjkiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI6MS0xMjoxMTAiLAogICAgICAgICAgICAibmFtZSIgOiAiRXh0ZW5kZWQgQ29kZXMgQ29kZVN5c3RlbSBjb2RlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vYW5jLWNkcy9Db2RlU3lzdGVtL2FuYy1jdXN0b20tY29kZXMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjkiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImNvZGVzeXN0ZW0gIiwiXCJFeHRlbmRlZCBDb2RlcyBDb2RlU3lzdGVtIGNvZGVzXCIiLCI6ICIsIidodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9hbmMtY2RzL0NvZGVTeXN0ZW0vYW5jLWN1c3RvbS1jb2RlcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAidmFsdWVTZXRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OjEtMTU6MTAzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZWduYW5jeSBTdGF0dXMgUHJlZ25hbnQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvVmFsdWVTZXQvcHJlZ25hbmN5c3RhdHVzLXZhbHVlcyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIFZhbHVTZXRzXG4iLCJ2YWx1ZXNldCAiLCJcIlByZWduYW5jeSBTdGF0dXMgUHJlZ25hbnRcIiIsIjogIiwiJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL2NvcmUvVmFsdWVTZXQvcHJlZ25hbmN5c3RhdHVzLXZhbHVlcyciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjExIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6NzYiLAogICAgICAgICAgICAibmFtZSIgOiAiQWR2ZXJzZSBFdmVudHMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvVmFsdWVTZXQvYWR2ZXJzZS1ldmVudC10eXBlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwidmFsdWVzZXQgIiwiXCJBZHZlcnNlIEV2ZW50c1wiIiwiOiAiLCInaHR0cDovL2hsNy5vcmcvZmhpci9WYWx1ZVNldC9hZHZlcnNlLWV2ZW50LXR5cGUnIiBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/PlanDefinition-IMMZD2DTMeasles.json b/android/engine/src/test/resources/plans/measles-immunizations/PlanDefinition-IMMZD2DTMeasles.json new file mode 100644 index 0000000000..44e49a0da9 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/PlanDefinition-IMMZD2DTMeasles.json @@ -0,0 +1,51 @@ +{ + "resourceType" : "PlanDefinition", + "id" : "IMMZD2DTMeasles", + "meta" : { + "profile" : ["http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition"] + }, + "text" : { + "status" : "extensions", + "div" : "

Generated Narrative: PlanDefinition

Resource PlanDefinition "IMMZD2DTMeasles"

Profile: CPG Recommendation Definition

CPG Knowledge Capability Extension: computable

url: http://smart.who.int/smart-immunizations-measles/PlanDefinition/IMMZD2DTMeasles

version: 0.1.0

name: IMMZD2DTMeasles

title: IMMZ.D2.DT.Measles

type: ECA Rule (PlanDefinitionType#eca-rule)

status: draft

experimental: false

date: 2023-11-08 12:11:52+0300

publisher: WHO

contact: WHO: http://who.int

description: If the child or patient has not been given MCV1 (at 9 months) and MCV2 (between 15-18 months) vaccination

library: IMMZD2DTMeaslesLogic

action

title: Immunize patient for Measles

description: Provide measles immunization

condition

kind: applicability

Expressions

-DescriptionLanguageExpression
*Provision of the MCV dosetext/cql-identifierProvision of the MCV dose

definition: IMMZ.D2.DT.Measles.MR

" + }, + "extension" : [{ + "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", + "valueCode" : "computable" + }], + "url" : "http://smart.who.int/smart-immunizations-measles/PlanDefinition/IMMZD2DTMeasles", + "version" : "0.1.0", + "name" : "IMMZD2DTMeasles", + "title" : "IMMZ.D2.DT.Measles", + "type" : { + "coding" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type", + "code" : "eca-rule" + }] + }, + "status" : "draft", + "experimental" : false, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "If the child or patient has not been given MCV1 (at 9 months) and MCV2 (between 15-18 months) vaccination", + "library" : ["http://smart.who.int/smart-immunizations-measles/Library/IMMZD2DTMeaslesLogic"], + "action" : [{ + "title" : "Immunize patient for Measles", + "description" : "Provide measles immunization", + "condition" : [{ + "kind" : "applicability", + "expression" : { + "description" : "Provision of the MCV dose", + "language" : "text/cql-identifier", + "expression" : "Provision of the MCV dose" + } + }], + "definitionCanonical" : "http://smart.who.int/smart-immunizations-measles/ActivityDefinition/IMMZD2DTMeaslesMR" + }] +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/ValueSet-HIVstatus-values.json b/android/engine/src/test/resources/plans/measles-immunizations/ValueSet-HIVstatus-values.json new file mode 100644 index 0000000000..b0777151a4 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/ValueSet-HIVstatus-values.json @@ -0,0 +1,45 @@ +{ + "resourceType" : "ValueSet", + "id" : "HIVstatus-values", + "text" : { + "status" : "generated", + "div" : "

This value set includes codes based on the following rules:

  • Include these codes as defined in http://snomed.info/sct
    CodeDisplay
    278977008Human immunodeficiency virus status (observable entity)
  • Include these codes as defined in http://hl7.org/fhir/sid/icd-11/mms
    CodeDisplay
    1C62.ZHuman immunodeficiency virus disease without mention of associated disease or condition, clinical stage unspecified
    MA14.0Laboratory evidence of human immunodeficiency virus
" + }, + "url" : "http://smart.who.int/smart-immunizations-measles/ValueSet/HIVstatus-values", + "version" : "0.1.0", + "name" : "HIVstatusvalues", + "title" : "HIV status values", + "status" : "draft", + "experimental" : false, + "date" : "2023-11-08T12:11:52+03:00", + "publisher" : "WHO", + "contact" : [{ + "name" : "WHO", + "telecom" : [{ + "system" : "url", + "value" : "http://who.int" + }] + }], + "description" : "Codes representing HIV status values", + "immutable" : true, + "compose" : { + "include" : [{ + "system" : "http://snomed.info/sct", + "concept" : [{ + "code" : "278977008", + "display" : "Human immunodeficiency virus status (observable entity)" + }] + }, + { + "system" : "http://hl7.org/fhir/sid/icd-11/mms", + "concept" : [{ + "code" : "1C62.Z", + "display" : "Human immunodeficiency virus disease without mention of associated disease or condition, clinical stage unspecified" + }, + { + "code" : "MA14.0", + "display" : "Laboratory evidence of human immunodeficiency virus" + }] + }] + } +} \ No newline at end of file diff --git a/android/engine/src/test/resources/plans/measles-immunizations/birthweightnormal-NoVaxeninfant-f.json b/android/engine/src/test/resources/plans/measles-immunizations/birthweightnormal-NoVaxeninfant-f.json new file mode 100644 index 0000000000..f7fbe54841 --- /dev/null +++ b/android/engine/src/test/resources/plans/measles-immunizations/birthweightnormal-NoVaxeninfant-f.json @@ -0,0 +1,24 @@ +{ + "resourceType": "Observation", + "id": "birthweightnormal-NoVaxeninfant-f", + "status": "final", + "code": { + "coding": [ + { + "code": "276610007", + "system": "http://snomed.info/sct", + "display": "Birthweight" + } + ] + }, + "subject": { + "reference": "Patient/IMMZ-Patient-NoVaxeninfant-f" + }, + "effectiveDateTime": "2023-03-02", + "valueQuantity": { + "value": 2123, + "code": "g", + "system": "http://unitsofmeasure.org", + "unit": "gram" + } +} diff --git a/android/engine/src/test/resources/plans/sample-request/sample_request_plan_definition.json b/android/engine/src/test/resources/plans/sample-request/sample_request_plan_definition.json index 883826b2ba..6235e4661c 100644 --- a/android/engine/src/test/resources/plans/sample-request/sample_request_plan_definition.json +++ b/android/engine/src/test/resources/plans/sample-request/sample_request_plan_definition.json @@ -26,6 +26,7 @@ "title" : "Administer Medication 1", "prefix": "1", "priority": "routine", + "kind" : "Task", "dynamicValue": [ { "path": "title", @@ -41,34 +42,6 @@ "expression": "%rootResource.description" } }, - { - "path": "instantiatesCanonical", - "expression": { - "language": "text/fhirpath", - "expression": "%rootResource.id.replaceMatches('/_history/.*', '')" - } - }, - { - "path": "status", - "expression": { - "language": "text/fhirpath", - "expression": "'active'" - } - }, - { - "path": "intent", - "expression": { - "language": "text/fhirpath", - "expression": "'plan'" - } - }, - { - "path": "created", - "expression": { - "language": "text/fhirpath", - "expression": "now()" - } - }, { "path": "subject", "expression": { @@ -98,28 +71,7 @@ } }, { - "path": "activity.detail.kind", - "expression": { - "language": "text/fhirpath", - "expression": "'Task'" - } - }, - { - "path": "activity.detail.status", - "expression": { - "language": "text/fhirpath", - "expression": "'in-progress'" - } - }, - { - "path": "activity.detail.description", - "expression": { - "language": "text/fhirpath", - "expression": "'This action will assess careplan on registration to init careplan'" - } - }, - { - "path": "activity.detail.performer", + "path": "performer", "expression": { "language": "text/fhirpath", "expression": "$this.generalPractitioner.first()" diff --git a/android/engine/src/test/resources/plans/sick-child-visit/structure-map-register.txt b/android/engine/src/test/resources/plans/sick-child-visit/structure-map-register.txt index 72d2c1a1c9..e3ce1417b2 100644 --- a/android/engine/src/test/resources/plans/sick-child-visit/structure-map-register.txt +++ b/android/engine/src/test/resources/plans/sick-child-visit/structure-map-register.txt @@ -25,7 +25,7 @@ group ExtractTask( task.executionPeriod = period, task.priority = 'routine', task.description = 'Sick Child Follow Up Task', - task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), task.basedOn = reference(careplan), task.authoredOn = evaluate(subject, now()), task.requester = evaluate(subject, $this.generalPractitioner.first()), diff --git a/android/engine/src/test/resources/plans/structure-map-referral.txt b/android/engine/src/test/resources/plans/structure-map-referral.txt index e2e51d2a77..16b0cdd673 100644 --- a/android/engine/src/test/resources/plans/structure-map-referral.txt +++ b/android/engine/src/test/resources/plans/structure-map-referral.txt @@ -29,7 +29,7 @@ group ExtractTasks( task.executionPeriod = period, task.priority = 'routine', task.description = 'Sick Child Referral Task', - task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', '')), + task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + '/' + $this.id.replaceMatches('/_history/.*', '')), // should refer to plandefinition since referral has no careplan task.basedOn = create('Reference') as ref, ref.reference = evaluate(careplan, $this.instantiatesCanonical.first()), task.authoredOn = evaluate(subject, now()), diff --git a/android/geowidget/build.gradle.kts b/android/geowidget/build.gradle.kts index d740e0c375..7833388501 100644 --- a/android/geowidget/build.gradle.kts +++ b/android/geowidget/build.gradle.kts @@ -19,9 +19,10 @@ plugins { android { compileSdk = 34 + namespace = "org.smartregister.fhircore.geowidget" + defaultConfig { minSdk = 26 - targetSdk = 34 buildConfigField("String", "MAPBOX_SDK_TOKEN", """"${project.extra["MAPBOX_SDK_TOKEN"]}"""") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") @@ -33,7 +34,7 @@ android { } buildTypes { - getByName("debug") { isTestCoverageEnabled = true } + getByName("debug") { enableUnitTestCoverage = true } create("debugNonProxy") { initWith(getByName("debug")) } getByName("release") { @@ -44,12 +45,12 @@ android { compileOptions { isCoreLibraryDesugaringEnabled = true - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs = listOf("-Xjvm-default=all-compatibility", "-opt-in=kotlin.RequiresOptIn") } @@ -57,11 +58,12 @@ android { compose = true viewBinding = true dataBinding = true + buildConfig = true } - composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } + composeOptions { kotlinCompilerExtensionVersion = "1.5.8" } - packagingOptions { + packaging { resources.excludes.addAll( listOf( "META-INF/ASL-2.0.txt", @@ -99,7 +101,7 @@ android { } } - testCoverage { jacocoVersion = "0.8.7" } + testCoverage { jacocoVersion = "0.8.11" } } tasks.withType { @@ -113,7 +115,7 @@ configurations { all { exclude(group = "xpp3") } } dependencies { coreLibraryDesugaring(libs.core.desugar) - implementation(project(":engine")) + implementation(project(":engine")) { exclude(group = "org.slf4j", module = "jcl-over-slf4j") } implementation(libs.core.ktx) implementation(libs.appcompat) implementation(libs.material) @@ -129,8 +131,7 @@ dependencies { kapt(libs.hilt.compiler) kapt(libs.dagger.hilt.compiler) - testRuntimeOnly(libs.junit.jupiter.engine) - testRuntimeOnly(libs.junit.vintage.engine) + testRuntimeOnly(libs.bundles.junit.jupiter.runtime) // Unit test dependencies testImplementation(libs.junit.jupiter.api) @@ -138,8 +139,8 @@ dependencies { testImplementation(libs.bundles.junit.test) testImplementation(libs.core.testing) testImplementation(libs.mockk) - testImplementation(libs.bundles.coroutine.test) - testImplementation(libs.hilt.android.testing) + testImplementation(libs.kotlinx.coroutines.test) + testImplementation(libs.dagger.hilt.android.testing) testImplementation(libs.navigation.testing) // To run only on debug builds @@ -147,8 +148,8 @@ dependencies { debugImplementation(libs.fragment.testing) // Annotation processors for test - kaptTest(libs.hilt.android.compiler) - kaptAndroidTest(libs.hilt.android.compiler) + kaptTest(libs.dagger.hilt.android.compiler) + kaptAndroidTest(libs.dagger.hilt.android.compiler) androidTestUtil(libs.orchestrator) @@ -156,5 +157,5 @@ dependencies { androidTestImplementation(libs.bundles.junit.test) androidTestImplementation(libs.runner) androidTestImplementation(libs.ui.test.junit4) - androidTestImplementation(libs.hilt.android.testing) + androidTestImplementation(libs.dagger.hilt.android.testing) } diff --git a/android/geowidget/src/main/AndroidManifest.xml b/android/geowidget/src/main/AndroidManifest.xml index 3e834937d2..738a9194e0 100644 --- a/android/geowidget/src/main/AndroidManifest.xml +++ b/android/geowidget/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + (resourcesGroups.size) - val fhirPath = FhirContext.forCached(FhirVersionEnum.R4).newFhirPath() + val fhirPath = FhirContext.forR4Cached().newFhirPath() resourcesGroups.forEachIndexed { index, resourceGroup -> val feature = JSONObject() diff --git a/android/geowidget/src/main/java/org/smartregister/fhircore/geowidget/screens/GeoWidgetFragment.kt b/android/geowidget/src/main/java/org/smartregister/fhircore/geowidget/screens/GeoWidgetFragment.kt index 4f7e4083b8..00a0d24848 100644 --- a/android/geowidget/src/main/java/org/smartregister/fhircore/geowidget/screens/GeoWidgetFragment.kt +++ b/android/geowidget/src/main/java/org/smartregister/fhircore/geowidget/screens/GeoWidgetFragment.kt @@ -89,12 +89,17 @@ open class GeoWidgetFragment : Fragment(), Observer { val toolbar = Toolbar(requireContext()).apply { - popupTheme = R.style.AppTheme + popupTheme = org.smartregister.fhircore.engine.R.style.AppTheme visibility = View.VISIBLE navigationIcon = ContextCompat.getDrawable(context, androidx.appcompat.R.drawable.abc_ic_ab_back_material) setLayoutParams(layoutParams) - setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.colorPrimary)) + setBackgroundColor( + ContextCompat.getColor( + requireContext(), + org.smartregister.fhircore.engine.R.color.colorPrimary, + ), + ) setNavigationOnClickListener { findNavController().popBackStack() } } kujakuMapView = @@ -147,7 +152,11 @@ open class GeoWidgetFragment : Fragment(), Observer { val coordinates = featureJSONObject.coordinates() ?: return val geoWidgetActivity = requireContext() - Toast.makeText(geoWidgetActivity, getString(R.string.please_wait), Toast.LENGTH_LONG) + Toast.makeText( + geoWidgetActivity, + getString(org.smartregister.fhircore.engine.R.string.please_wait), + Toast.LENGTH_LONG, + ) .show() val location: Location = generateLocation(featureJSONObject, coordinates) diff --git a/android/geowidget/src/test/java/org/smartregister/fhircore/geowidget/KujakuFhirCoreConverterTest.kt b/android/geowidget/src/test/java/org/smartregister/fhircore/geowidget/KujakuFhirCoreConverterTest.kt index 15125daefb..73e6b94e5d 100644 --- a/android/geowidget/src/test/java/org/smartregister/fhircore/geowidget/KujakuFhirCoreConverterTest.kt +++ b/android/geowidget/src/test/java/org/smartregister/fhircore/geowidget/KujakuFhirCoreConverterTest.kt @@ -81,8 +81,9 @@ class KujakuFhirCoreConverterTest { val groupJson = """{"resourceType":"Group","id":"1122f50c-5499-4eaa-bd53-a5364371a2ba","meta":{"versionId":"5","lastUpdated":"2022-06-23T14:55:37.217+00:00","source":"#75f9db2107ef0977"},"identifier":[{"use":"official","value":"124"},{"use":"secondary","value":"c90cd5e3-a1c4-4040-9745-433aea9fe174"}],"active":true,"type":"person","code":{"coding":[{"system":"https://www.snomed.org","code":"35359004","display":"Family"}]},"name":"new family","managingEntity":{"reference":"Organization/105"},"member":[{"entity":{"reference":"Patient/7d84a2d0-8706-485a-85f5-8313f16bafa1"}},{"entity":{"reference":"Patient/0beaa1e3-64a9-436f-91af-36cbdaff5628"}},{"entity":{"reference":"Patient/a9e466a6-6237-46e0-bcda-c66036414aed"}},{"entity":{"reference":"Patient/7e62cc99-d992-484c-ace8-a43dba87ed22"}},{"entity":{"reference":"Patient/cd1c9616-bdfd-4947-907a-5f08e2bcd8a9"}}]}""" val location = - FhirContext.forR4().newJsonParser().parseResource(Location::class.java, locationJson) - val group = FhirContext.forR4().newJsonParser().parseResource(Group::class.java, groupJson) + FhirContext.forR4Cached().newJsonParser().parseResource(Location::class.java, locationJson) + val group = + FhirContext.forR4Cached().newJsonParser().parseResource(Group::class.java, groupJson) val resourceGroups: ArrayList> = ArrayList() resourceGroups.add( @@ -141,7 +142,7 @@ class KujakuFhirCoreConverterTest { Assert.assertEquals("new family", featureCollection.features()!![1].getStringProperty("name")) Assert.assertEquals( - "Group/1122f50c-5499-4eaa-bd53-a5364371a2ba/_history/5", + "1122f50c-5499-4eaa-bd53-a5364371a2ba", featureCollection.features()!![1].getStringProperty("family-id"), ) Assert.assertEquals( diff --git a/android/gradle.properties b/android/gradle.properties index f7f5e328d0..fa606f1f41 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -17,8 +17,9 @@ org.gradle.jvmargs=-Xmx4608m # org.gradle.parallel=true android.useAndroidX=true -android.enableJetifier = true - -# Show logs +android.enableJetifier=true +android.defaults.buildfeatures.buildconfig=true +android.suppressUnsupportedCompileSdk=34 +android.jetifier.ignorelist=jackson-core org.gradle.warning.mode=all android.suppressUnsupportedCompileSdk=34 diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 79949fc6c0..2a116d0783 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,11 +1,8 @@ [versions] -accompanist-flowlayout = "0.23.1" -accompanist-placeholder = "0.23.1" -activity-compose = "1.7.2" -activity-ktx = "1.7.2" +activity-compose = "1.8.2" +androidJunit5 = "1.8.2.1" appcompat = "1.6.1" -benchmark-junit = "1.1.1" -caffeine = "2.9.1" +benchmark-junit = "1.2.3" cardview = "1.0.0" commonsJexl3 = "3.2.1" compressor = "3.0.1" @@ -13,114 +10,84 @@ constraintlayout = "2.1.4" constraintlayout-compose = "1.0.1" contrib-barcode = "0.1.0-beta3-preview5-SNAPSHOT" converter-gson = "2.9.0" -core-ktx = "1.10.1" -core-ktx-test= "1.5.0" +core-ktx = "1.12.0" +android-x-test= "1.5.2" core-testing = "2.2.0" -cql-engine = "2.4.0" -cql-evaluator = "2.4.0" -cql-to-elm = "2.4.0" -dagger-hilt-compiler = "2.45" -data-capture = "1.0.0-preview19-SNAPSHOT" +coverallsGradlePlugin = "2.12.0" +cqfFhirCr = "3.0.0-PRE9" +data-capture = "1.1.0-preview4-SNAPSHOT" datastore = "1.0.0" -datastore-preferences = "1.0.0" -desugar-jdk-libs = "1.1.5" +desugar-jdk-libs = "2.0.4" +dokkaBase = "1.8.20" easy-rules-jexl = "4.1.0" espresso-core = "3.5.1" fhir-common-utils = "1.0.0-SNAPSHOT" -fhir-engine = "0.1.0-beta04-preview4.1-SNAPSHOT" -foundation = "1.3.1" -fragment-ktx = "1.6.1" -fragment-testing = "1.6.1" -glide = "4.14.2" +fhir-engine = "1.0.0-preview2-SNAPSHOT" +foundation = "1.6.0" +fragment-ktx = "1.6.2" +glide = "4.16.0" +gradle = "8.2.2" gson = "2.10.1" -hilt-android = "2.45" -hilt-android-compiler = "2.45" -hilt-android-testing = "2.45" -hilt-compiler = "1.0.0" -hilt-navigation-compose = "1.0.0" -hilt-work = "1.0.0" +hilt = "1.1.0" jjwt = "0.9.1" joda-time = "2.10.14" json = "20230618" jsonPath = "2.8.0" junit = "1.1.5" -junit-jupiter-api = "5.8.2" -junit-jupiter-engine = "5.8.2" +junit-jupiter = "5.9.1" junit-ktx = "1.1.5" -junit-vintage-engine = "5.8.2" -knowledger = "0.1.0-alpha001-preview-SNAPSHOT" -kotlin = "1.8.10" -kotlinx-coroutines-android = "1.6.4" -kotlinx-coroutines-core = "1.6.2" -kotlinx-coroutines-debug = "1.6.4" -kotlinx-coroutines-test = "1.6.2" -kotlinx-serialization-json = "1.3.2" +knowledge = "0.1.0-alpha03-preview2-SNAPSHOT" +kotlin = "1.9.22" +kotlinx-coroutines = "1.7.2" +kotlinx-serialization-json = "1.6.0" kujaku-library = "0.9.0" ktlint = "0.49.1" -ktlint-cli-ruleset = "0.49.1" -ktlint-rule-engine-core = "0.49.1" leakcanary-android = "2.10" -lifecycle-livedata-ktx = "2.6.1" -lifecycle-viewmodel-compose = "2.6.1" -lifecycle-viewmodel-ktx = "2.6.1" +lifecycle= "2.7.0" mapbox-sdk-turf = "4.8.0" -material = "1.9.0" -material-icons-core = "1.5.0" -material-icons-extended = "1.5.0" -material3 = "1.1.1" -mockk = "1.12.3" -mockk-android = "1.12.3" +material = "1.11.0" +compose-material-icons = "1.6.0" +material3 = "1.1.2" +mockk = "1.13.8" +mockk-android = "1.13.8" msg-simple = "1.2" -navigation-compose = "2.5.3" -navigation-fragment-ktx = "2.5.3" -navigation-testing = "2.5.3" -navigation-ui-ktx = "2.5.3" -okhttp = "4.10.0" -okhttp-logging-interceptor = "4.10.0" +navigation = "2.7.6" +okhttp = "4.12.0" +okhttp-logging-interceptor = "4.11.0" orchestrator = "1.4.2" p2p-lib = "0.6.9-SNAPSHOT" -paging-compose = "3.2.0" -paging-runtime-ktx = "3.2.0" +paging = "3.2.1" preference-ktx = "1.2.1" prettytime = "5.0.2.Final" retrofit = "2.9.0" retrofit-mock = "2.9.0" retrofit2-kotlinx-serialization-converter = "0.8.0" -robolectric = "4.7.3" -runner = "1.5.2" -runtime-livedata = "1.5.0" +robolectric = "4.10.3" security-crypto = "1.1.0-alpha06" slf4j-nop = "1.7.36" +spotlessPluginGradle = "6.25.0" stax-api = "1.0-2" timber = "5.0.1" -ui = "1.4.3" -ui-test-junit4 = "1.4.3" -ui-test-manifest = "1.4.3" -ui-tooling = "1.4.3" -work-runtime-ktx = "2.8.1" -work-testing = "2.8.1" -workflow = "0.1.0-alpha02-preview9.1-SNAPSHOT" +ui = "1.6.0" +work = "2.9.0" +workflow = "0.1.0-alpha04-preview4.1-SNAPSHOT" xercesImpl = "2.12.2" -org-jetbrains-kotlin-android = "1.8.10" jetbrains = "1.8.20" owasp = "8.2.1" -kt3k-coveralls = "2.12.0" -kotlin-jvm = "1.8.10" kotlin-serialization = "1.8.10" -dagger-hilt = "2.45" -jetbrains-dokka = "1.8.20" -navigation-safeargs = "2.4.2" -diffplug-spotless = "6.19.0" - +dagger-hilt = "2.50" +navigation-safeargs = "2.7.6" +accompanist = "0.23.1" +jetbrains-kotlin-jvm="1.8.10" +kt3k-coveralls-ver="2.12.0" [libraries] -accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist-flowlayout", version.ref = "accompanist-flowlayout" } -accompanist-placeholder = { group = "com.google.accompanist", name = "accompanist-placeholder", version.ref = "accompanist-placeholder" } +accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist-flowlayout", version.ref = "accompanist" } +accompanist-placeholder = { group = "com.google.accompanist", name = "accompanist-placeholder", version.ref = "accompanist" } activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" } -activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity-ktx" } +activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity-compose" } appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } benchmark-junit = { group = "androidx.benchmark", name = "benchmark-junit4", version.ref = "benchmark-junit" } -caffeine = { group = "com.github.ben-manes.caffeine", name = "caffeine", version.ref = "caffeine" } cardview = { group = "androidx.cardview", name = "cardview", version.ref = "cardview" } commons-jexl3 = { module = "org.apache.commons:commons-jexl3", version.ref = "commonsJexl3" } compressor = { group = "id.zelory", name = "compressor", version.ref = "compressor" } @@ -130,121 +97,123 @@ contrib-barcode = { group = "org.smartregister", name = "contrib-barcode", versi converter-gson = { group = "com.squareup.retrofit2", name = "converter-gson", version.ref = "converter-gson" } core-desugar = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar-jdk-libs" } core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } -core-ktx-test = { group = "androidx.test", name = "core-ktx", version.ref = "core-ktx-test" } +core-ktx-test = { group = "androidx.test", name = "core-ktx", version.ref = "android-x-test" } core-testing = { group = "androidx.arch.core", name = "core-testing", version.ref = "core-testing" } -cqf-cql-engine = { group = "org.opencds.cqf.cql", name = "engine", version.ref = "cql-engine" } -cqf-cql-evaluator = { group = "org.opencds.cqf.cql", name = "evaluator", version.ref = "cql-evaluator" } -cql-engine-jackson = { group = "org.opencds.cqf.cql", name = "engine.jackson", version.ref = "cql-engine" } -cql-evaluator-builder = { group = "org.opencds.cqf.cql", name = "evaluator.builder", version.ref = "cql-evaluator" } -cql-evaluator-dagger = { group = "org.opencds.cqf.cql", name = "evaluator.dagger", version.ref = "cql-evaluator" } -cql-evaluator-plandefinition = { group = "org.opencds.cqf.cql", name = "evaluator.plandefinition", version.ref = "cql-evaluator" } -cql-measure-evaluator = { group = "org.opencds.cqf.cql", name = "evaluator.measure", version.ref = "cql-evaluator" } -cql-to-elm = { group = "info.cqframework", name = "cql-to-elm", version.ref = "cql-to-elm" } -dagger-hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt-android" } -dagger-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "dagger-hilt-compiler" } +coveralls-gradle-plugin = { module = "gradle.plugin.org.kt3k.gradle.plugin:coveralls-gradle-plugin", version.ref = "coverallsGradlePlugin" } +cqf-fhir-cr = { module = "org.opencds.cqf.fhir:cqf-fhir-cr", version.ref = "cqfFhirCr" } +dagger-hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger-hilt" } +dagger-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "dagger-hilt" } +dagger-hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "dagger-hilt" } +dagger-hilt-android-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "dagger-hilt" } +dagger-hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "dagger-hilt" } data-capture = { group = "org.smartregister", name = "data-capture", version.ref = "data-capture" } datastore = { group = "androidx.datastore", name = "datastore", version.ref = "datastore" } -datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore-preferences"} +datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore"} +dokka-base = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokkaBase" } easy-rules-jexl = { group = "org.jeasy", name = "easy-rules-jexl", version.ref = "easy-rules-jexl" } espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } fhir-common-utils = { group = "org.smartregister", name = "fhir-common-utils", version.ref = "fhir-common-utils" } fhir-engine = { group = "org.smartregister", name = "engine", version.ref = "fhir-engine" } foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundation" } fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragment-ktx" } -fragment-testing = { group = "androidx.fragment", name = "fragment-testing", version.ref = "fragment-testing" } +fragment-testing = { group = "androidx.fragment", name = "fragment-testing", version.ref = "fragment-ktx" } glide = { group = "com.github.bumptech.glide", name = "glide", version.ref = "glide" } +gradle = { module = "com.android.tools.build:gradle", version.ref = "gradle" } gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } -hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt-android-compiler" } -hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt-android-testing" } -hilt-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "hilt-compiler" } -hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hilt-navigation-compose" } -hilt-work = { group = "androidx.hilt", name = "hilt-work", version.ref = "hilt-work" } +hilt-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "hilt" } +hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hilt" } +hilt-work = { group = "androidx.hilt", name = "hilt-work", version.ref = "hilt" } jjwt = { group = "io.jsonwebtoken", name = "jjwt", version.ref = "jjwt" } joda-time = { group = "joda-time", name = "joda-time", version.ref = "joda-time" } json = { group = "org.json", name = "json", version.ref = "json" } json-path = { module = "com.jayway.jsonpath:json-path", version.ref = "jsonPath" } junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" } -junit-jupiter-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit-jupiter-api" } -junit-jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit-jupiter-engine" } +junit-jupiter-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit-jupiter" } +junit-jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit-jupiter" } +junit-vintage-engine = { group = "org.junit.vintage", name = "junit-vintage-engine", version.ref = "junit-jupiter" } junit-ktx = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "junit-ktx" } -junit-vintage-engine = { group = "org.junit.vintage", name = "junit-vintage-engine", version.ref = "junit-vintage-engine" } -knowledger = { module = "org.smartregister:knowledger", version.ref = "knowledger" } +knowledge = { group = "org.smartregister", name = "knowledge", version.ref = "knowledge" } +kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" } kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" } -kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines-android" } -kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines-core" } -kotlinx-coroutines-debug = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-debug", version.ref = "kotlinx-coroutines-debug" } -kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-test" } +kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" } ktlint-main = { group = "com.pinterest", name = "ktlint", version.ref = "ktlint"} -ktlint-cli-ruleset = { group = "com.pinterest.ktlint", name = "ktlint-cli-ruleset-core", version.ref = "ktlint-cli-ruleset" } -ktlint-rule-engine-core = { group = "com.pinterest.ktlint", name = "ktlint-rule-engine-core", version.ref = "ktlint-rule-engine-core" } +ktlint-cli-ruleset = { group = "com.pinterest.ktlint", name = "ktlint-cli-ruleset-core", version.ref = "ktlint" } +ktlint-rule-engine-core = { group = "com.pinterest.ktlint", name = "ktlint-rule-engine-core", version.ref = "ktlint" } kujaku-library = { group = "io.ona.kujaku", name = "library", version.ref = "kujaku-library" } leakcanary-android = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary-android" } -lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle-livedata-ktx" } -lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle-viewmodel-compose" } -lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle-viewmodel-ktx" } +lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" } +lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } +lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" } mapbox-sdk-turf = { group = "com.mapbox.mapboxsdk", name = "mapbox-sdk-turf", version.ref = "mapbox-sdk-turf" } material = { group = "com.google.android.material", name = "material", version.ref = "material" } -material-icons-core = { group = "androidx.compose.material", name = "material-icons-core", version.ref = "material-icons-core" } -material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "material-icons-extended" } +compose-material-icons-core = { group = "androidx.compose.material", name = "material-icons-core", version.ref = "compose-material-icons" } +compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "compose-material-icons" } material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3" } mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "mockk-android" } msg-simple = { group = "com.github.java-json-tools", name = "msg-simple", version.ref = "msg-simple" } -navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation-compose" } -navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigation-fragment-ktx" } -navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "navigation-testing" } -navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigation-ui-ktx" } +navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" } +navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigation" } +navigation-safe-args-gradle-plugin = { module = "androidx.navigation:navigation-safe-args-gradle-plugin", version.ref = "navigation" } +navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "navigation" } +navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigation" } okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp-logging-interceptor" } orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "orchestrator" } p2p-lib = { group = "org.smartregister", name = "p2p-lib", version.ref = "p2p-lib" } -paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paging-compose" } -paging-runtime-ktx = { group = "androidx.paging", name = "paging-runtime-ktx", version.ref = "paging-runtime-ktx" } +paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paging" } +paging-runtime-ktx = { group = "androidx.paging", name = "paging-runtime-ktx", version.ref = "paging" } preference-ktx = { group = "androidx.preference", name = "preference-ktx", version.ref = "preference-ktx" } prettytime = { group = "org.ocpsoft.prettytime", name = "prettytime", version.ref = "prettytime" } retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } retrofit-mock = { group = "com.squareup.retrofit2", name = "retrofit-mock", version.ref = "retrofit-mock" } retrofit2-kotlinx-serialization-converter = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofit2-kotlinx-serialization-converter" } robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" } -runner = { module = "androidx.test:runner", version.ref = "runner" } -runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "runtime-livedata" } +runner = { module = "androidx.test:runner", version.ref = "android-x-test" } +runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "ui" } security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "security-crypto" } slf4j-nop = { group = "org.slf4j", name = "slf4j-nop", version.ref = "slf4j-nop" } +spotless-plugin-gradle = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotlessPluginGradle" } stax-api = { group = "javax.xml.stream", name = "stax-api", version.ref = "stax-api" } timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } ui = { group = "androidx.compose.ui", name = "ui", version.ref = "ui" } -ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "ui-test-junit4" } -ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "ui-test-manifest" } -ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "ui-tooling" } -work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "work-runtime-ktx" } -work-testing = { group = "androidx.work", name = "work-testing", version.ref = "work-testing" } +ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "ui" } +ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "ui" } +ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "ui" } +ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "ui" } +work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "work" } +work-testing = { group = "androidx.work", name = "work-testing", version.ref = "work" } workflow = { group = "org.smartregister", name = "workflow", version.ref = "workflow" } xercesImpl = { group = "xerces", name = "xercesImpl", version.ref = "xercesImpl" } [plugins] -org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "org-jetbrains-kotlin-android" } +org-jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "jetbrains-kotlin-jvm" } org-jetbrains-dokka = { id = "org.jetbrains.dokka", version.ref = "jetbrains" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin-serialization" } org-owasp-dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "owasp" } dagger-hilt-android= { id = "com.google.dagger.hilt.android", version.ref = "dagger-hilt" } -com-diffplug-spotless = { id = "com.diffplug.spotless", version.ref = "diffplug-spotless" } +com-diffplug-spotless = { id = "com.diffplug.spotless", version.ref = "spotlessPluginGradle" } androidx-navigation-safeargs = { id = "androidx.navigation.safeargs.kotlin", version.ref = "navigation-safeargs" } +kt3k-coveralls = { id = "com.github.kt3k.coveralls", version.ref = "kt3k-coveralls-ver" } +android-junit5 = {id="de.mannodermaus.android-junit5", version.ref="androidJunit5"} [bundles] retrofit2 = ["retrofit", "retrofit-mock", "retrofit2-kotlinx-serialization-converter"] paging = ["paging-compose", "paging-runtime-ktx"] -materialicons = ["material-icons-extended", "material-icons-core"] +materialicons = ["compose-material-icons-extended", "compose-material-icons-core"] datastore-kt = ["datastore-preferences", "datastore"] lifecycle = ["lifecycle-viewmodel-ktx", "lifecycle-viewmodel-compose", "lifecycle-livedata-ktx"] okhttp3 = ["okhttp-logging-interceptor", "okhttp"] accompanist = ["accompanist-placeholder", "accompanist-flowlayout"] klint = ["ktlint-cli-ruleset", "ktlint-rule-engine-core"] -compose = ["activity-compose", "material3", "ui", "ui-tooling", "constraintlayout-compose", "foundation","runtime-livedata"] -navigation = ["navigation-compose", "navigation-fragment-ktx", "navigation-testing", "navigation-ui-ktx"] +compose = ["activity-compose","activity-ktx", "material3", "ui", "ui-tooling-preview", "constraintlayout-compose", "foundation","runtime-livedata"] +navigation = ["navigation-compose", "navigation-fragment-ktx", "navigation-ui-ktx"] junit-test = ["junit-ktx", "junit"] coroutines = ["kotlinx-coroutines-core", "kotlinx-coroutines-android"] -coroutine-test = ["kotlinx-coroutines-test", "kotlinx-coroutines-debug"] - +compose-ui-test = ["ui-test-junit4","ui-test-manifest"] +junit-jupiter-runtime = ["junit-jupiter-engine","junit-vintage-engine"] diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index aa991fceae..68a1f59872 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/jacoco.gradle.kts b/android/jacoco.gradle.kts index 4efee7cf12..330ebd0f40 100644 --- a/android/jacoco.gradle.kts +++ b/android/jacoco.gradle.kts @@ -13,10 +13,7 @@ tasks.create(name = "fhircoreJacocoReport", type = JacocoReport::class) { * into functional tests and performance tests. Performance tests can take upto 1 hr and are not required * while functional tests alone will take ~40 mins and they are required. */ - if (!isApplication) { - tasksList += "connected${if (isApplication) actualProjectName.capitalize() else ""}DebugAndroidTest" - } - else {} + tasksList += "connected${if (isApplication) actualProjectName.capitalize() else ""}DebugAndroidTest" dependsOn( tasksList diff --git a/android/linting/build.gradle.kts b/android/linting/build.gradle.kts index 70a2ceb398..2c993c7c55 100644 --- a/android/linting/build.gradle.kts +++ b/android/linting/build.gradle.kts @@ -6,6 +6,6 @@ plugins { dependencies { implementation(libs.bundles.klint) } java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/android/macrobenchmark/build.gradle.kts b/android/macrobenchmark/build.gradle.kts index 2878cf5c1c..03564f6675 100644 --- a/android/macrobenchmark/build.gradle.kts +++ b/android/macrobenchmark/build.gradle.kts @@ -1,4 +1,5 @@ import java.io.FileReader +import org.json.JSONArray import org.json.JSONObject plugins { @@ -52,12 +53,10 @@ dependencies { androidComponents { beforeVariants(selector().all()) { it.enabled = it.buildType == "benchmark" } } -/* - -This task compares the performance benchmark results to the expected benchmark results -and throws an error if the result is past the expected result and margin. A message will -also be printed if the performance significantly improves. - +/** + * This task compares the performance benchmark results to the expected benchmark results and throws + * an error if the result is past the expected result and margin. A message will also be printed if + * the performance significantly improves. */ task("evaluatePerformanceBenchmarkResults") { val expectedPerformanceLimitsFile = project.file("expected-results.json") @@ -72,26 +71,27 @@ task("evaluatePerformanceBenchmarkResults") { JSONObject(FileReader(expectedPerformanceLimitsFile).readText()).run { keys().forEach { key -> val resultMaxDeltaMap: HashMap = hashMapOf() - val methodExpectedResults = this.getJSONObject(key) + val methodExpectedResults = this.getJSONObject(key.toString()) methodExpectedResults.keys().forEach { expectedResultsKey -> resultMaxDeltaMap.put( - expectedResultsKey, - methodExpectedResults.getDouble(expectedResultsKey), + expectedResultsKey.toString(), + methodExpectedResults.getDouble(expectedResultsKey.toString()), ) } - expectedResultsMap[key] = resultMaxDeltaMap + expectedResultsMap[key.toString()] = resultMaxDeltaMap } } // Loop through the results file updating the results JSONObject(FileReader(resultsFile).readText()).run { - getJSONArray("benchmarks").forEachIndexed { index, any -> - val benchmarkResult = any as JSONObject + val benchMarksArray: JSONArray = this.getJSONArray("benchmarks") + for (i in 0 until benchMarksArray.length()) { + val benchmarkResult = benchMarksArray.getJSONObject(i) as JSONObject val fullName = benchmarkResult.getTestName() val traceName = benchmarkResult.getJSONObject("metrics").keys().next() - val timings = benchmarkResult.getJSONObject("metrics").getJSONObject(traceName) + val timings = benchmarkResult.getJSONObject("metrics").getJSONObject(traceName.toString()) val median = timings.getDouble("median") val expectedTimings = expectedResultsMap[fullName] diff --git a/android/quest/build.gradle.kts b/android/quest/build.gradle.kts index 24a976482c..2afb37ac70 100644 --- a/android/quest/build.gradle.kts +++ b/android/quest/build.gradle.kts @@ -4,6 +4,7 @@ import java.text.SimpleDateFormat import java.util.Date import java.util.Locale import org.gradle.api.tasks.testing.logging.TestLogEvent +import org.json.JSONArray import org.json.JSONObject buildscript { @@ -57,10 +58,11 @@ android { val buildDate = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(Date()) + namespace = "org.smartregister.fhircore.quest" + defaultConfig { applicationId = "org.smartregister.opensrp" minSdk = 26 - targetSdk = 34 versionCode = 7 versionName = "1.0.1" multiDexEnabled = true @@ -99,7 +101,7 @@ android { } buildTypes { - getByName("debug") { isTestCoverageEnabled = true } + getByName("debug") { enableUnitTestCoverage = true } create("benchmark") { signingConfig = signingConfigs.getByName("debug") matchingFallbacks += listOf("debug") @@ -115,7 +117,7 @@ android { } } - packagingOptions { + packaging { resources.excludes.addAll( listOf( "META-INF/ASL-2.0.txt", @@ -146,12 +148,12 @@ android { compileOptions { isCoreLibraryDesugaringEnabled = true - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs = listOf("-Xjvm-default=all-compatibility", "-opt-in=kotlin.RequiresOptIn") } @@ -159,9 +161,10 @@ android { compose = true viewBinding = true dataBinding = true + buildConfig = true } - composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } + composeOptions { kotlinCompilerExtensionVersion = "1.5.8" } testOptions { execution = "ANDROIDX_TEST_ORCHESTRATOR" @@ -173,7 +176,7 @@ android { } } - testCoverage { jacocoVersion = "0.8.7" } + testCoverage { jacocoVersion = "0.8.11" } lint { abortOnError = false } @@ -362,12 +365,7 @@ tasks.withType { maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 } -configurations { - all { - exclude(group = "commons-logging") - exclude(group = "xpp3") - } -} +configurations { all { exclude(group = "xpp3") } } dependencies { coreLibraryDesugaring(libs.core.desugar) @@ -380,14 +378,12 @@ dependencies { implementation(libs.material) implementation(libs.dagger.hilt.android) implementation(libs.hilt.work) - implementation(libs.cql.measure.evaluator) // Annotation processors kapt(libs.hilt.compiler) kapt(libs.dagger.hilt.compiler) - testRuntimeOnly(libs.junit.jupiter.engine) - testRuntimeOnly(libs.junit.vintage.engine) + testRuntimeOnly(libs.bundles.junit.jupiter.runtime) // Unit test dependencies testImplementation(libs.junit.jupiter.api) @@ -395,8 +391,8 @@ dependencies { testImplementation(libs.bundles.junit.test) testImplementation(libs.core.testing) testImplementation(libs.mockk) - testImplementation(libs.bundles.coroutine.test) - testImplementation(libs.hilt.android.testing) + testImplementation(libs.kotlinx.coroutines.test) + testImplementation(libs.dagger.hilt.android.testing) testImplementation(libs.navigation.testing) testImplementation(libs.kotlin.test) testImplementation(libs.work.testing) @@ -407,8 +403,8 @@ dependencies { // debugImplementation(libs.leakcanary.android) // Annotation processors for test - kaptTest(libs.hilt.android.compiler) - kaptAndroidTest(libs.hilt.android.compiler) + kaptTest(libs.dagger.hilt.android.compiler) + kaptAndroidTest(libs.dagger.hilt.android.compiler) androidTestUtil(libs.orchestrator) @@ -416,10 +412,15 @@ dependencies { androidTestImplementation(libs.bundles.junit.test) androidTestImplementation(libs.runner) androidTestImplementation(libs.ui.test.junit4) - androidTestImplementation(libs.hilt.android.testing) + androidTestImplementation(libs.dagger.hilt.android.testing) androidTestImplementation(libs.mockk.android) androidTestImplementation(libs.benchmark.junit) androidTestImplementation(libs.work.testing) + androidTestImplementation(libs.navigation.testing) + // Android Test dependencies + androidTestImplementation(libs.junit) + androidTestImplementation(libs.espresso.core) + ktlint(libs.ktlint.main) { attributes { attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.EXTERNAL)) } } @@ -443,22 +444,22 @@ task("evaluatePerformanceBenchmarkResults") { JSONObject(FileReader(expectedPerformanceLimitsFile).readText()).run { keys().forEach { key -> val resultMaxDeltaMap: HashMap = hashMapOf() - val methodExpectedResults = this.getJSONObject(key) + val methodExpectedResults = this.getJSONObject(key.toString()) methodExpectedResults.keys().forEach { expectedResultsKey -> resultMaxDeltaMap.put( - expectedResultsKey, - methodExpectedResults.getDouble(expectedResultsKey), + expectedResultsKey.toString(), + methodExpectedResults.getDouble(expectedResultsKey.toString()), ) } - expectedResultsMap[key] = resultMaxDeltaMap + expectedResultsMap[key.toString()] = resultMaxDeltaMap } } // Loop through the results file updating the results JSONObject(FileReader(resultsFile).readText()).run { - getJSONArray("benchmarks").forEachIndexed { index, any -> + getJSONArray("benchmarks").iterator().forEach { any -> val benchmarkResult = any as JSONObject val fullName = benchmarkResult.getTestName() val timings = benchmarkResult.getJSONObject("metrics").getJSONObject("timeNs") @@ -504,3 +505,6 @@ fun JSONObject.getTestName(): String { return "$className#$methodName" } + +operator fun JSONArray.iterator(): Iterator = + (0 until length()).asSequence().map { get(it) as JSONObject }.iterator() diff --git a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/Faker.kt b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/Faker.kt index 2ef1a17d41..b1d7363122 100644 --- a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/Faker.kt +++ b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/Faker.kt @@ -19,14 +19,18 @@ package org.smartregister.fhircore.quest.integration import androidx.test.core.app.ApplicationProvider import com.google.android.fhir.FhirEngine import com.google.android.fhir.LocalChange -import com.google.android.fhir.LocalChangeToken import com.google.android.fhir.SearchResult import com.google.android.fhir.search.Search import com.google.android.fhir.sync.ConflictResolver import com.google.android.fhir.sync.upload.LocalChangesFetchMode +import com.google.android.fhir.sync.upload.SyncUploadProgress +import com.google.android.fhir.sync.upload.UploadRequestResult import com.google.gson.Gson +import dagger.hilt.android.testing.HiltTestApplication +import java.net.URL import java.time.OffsetDateTime import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import okhttp3.RequestBody @@ -37,6 +41,7 @@ import org.hl7.fhir.r4.model.OperationOutcome import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.Resource import org.hl7.fhir.r4.model.ResourceType +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry import org.smartregister.fhircore.engine.configuration.app.AuthConfiguration import org.smartregister.fhircore.engine.configuration.app.ConfigService @@ -57,9 +62,8 @@ object Faker { override suspend fun count(search: Search): Long = 0 - override suspend fun create(vararg resource: Resource): List = emptyList() - - override suspend fun createRemote(vararg resource: Resource) {} + override suspend fun create(vararg resource: Resource, isLocalOnly: Boolean): List = + emptyList() override suspend fun delete(type: ResourceType, id: String) {} @@ -93,8 +97,10 @@ object Faker { override suspend fun syncUpload( localChangesFetchMode: LocalChangesFetchMode, - upload: suspend (List) -> Flow>, - ) {} + upload: suspend (List) -> Flow, + ): Flow { + return flowOf() + } override suspend fun update(vararg resource: Resource) {} } @@ -177,6 +183,13 @@ object Faker { configService = configService, dispatcherProvider = DefaultDispatcherProvider(), json = json, + context = ApplicationProvider.getApplicationContext(), + openSrpApplication = + object : OpenSrpApplication() { + override fun getFhirServerHost(): URL? { + return URL("http://my_test_fhirbase_url/fhir/") + } + }, ) runBlocking { diff --git a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/login/LoginScreenTest.kt b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/login/LoginScreenTest.kt index f2ff4de726..ed30a8ab96 100644 --- a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/login/LoginScreenTest.kt +++ b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/login/LoginScreenTest.kt @@ -26,9 +26,9 @@ import androidx.test.platform.app.InstrumentationRegistry import kotlinx.coroutines.ExperimentalCoroutinesApi import org.junit.Rule import org.junit.Test +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.configuration.app.ApplicationConfiguration import org.smartregister.fhircore.engine.configuration.app.LoginConfig -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.login.APP_LOGO_TAG import org.smartregister.fhircore.quest.ui.login.APP_NAME_TEXT_TAG import org.smartregister.fhircore.quest.ui.login.ForgotPasswordDialog @@ -148,7 +148,7 @@ class LoginScreenTest { fun testLoginFailsWithErrorFetchingUserMessage() { verifyErrorFetchingUser( LoginErrorState.ERROR_FETCHING_USER, - R.string.error_fetching_user_details, + org.smartregister.fhircore.quest.R.string.error_fetching_user_details, ) } diff --git a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/register/components/RegisterCardListTest.kt b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/register/components/RegisterCardListTest.kt index 42cab5ea82..8696a0bcbe 100644 --- a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/register/components/RegisterCardListTest.kt +++ b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/register/components/RegisterCardListTest.kt @@ -87,7 +87,7 @@ class RegisterCardListTest { ) } - composeTestRule.onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG).onChildren().assertCountEquals(3) + composeTestRule.onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG).onChildren().assertCountEquals(2) composeTestRule .onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG) @@ -119,7 +119,7 @@ class RegisterCardListTest { ) } - composeTestRule.onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG).onChildren().assertCountEquals(4) + composeTestRule.onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG).onChildren().assertCountEquals(3) composeTestRule .onNodeWithTag(REGISTER_CARD_LIST_TEST_TAG) diff --git a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/report/measure/components/MeasureReportIndividualResultViewTest.kt b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/report/measure/components/MeasureReportIndividualResultViewTest.kt index 95c608439a..c80095448b 100644 --- a/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/report/measure/components/MeasureReportIndividualResultViewTest.kt +++ b/android/quest/src/androidTest/java/org/smartregister/fhircore/quest/integration/ui/report/measure/components/MeasureReportIndividualResultViewTest.kt @@ -69,12 +69,7 @@ class MeasureReportIndividualResultViewTest { private fun initComposable(isMatchedIndicator: Boolean) { scenario.onActivity { activity -> activity.setContent { - AppTheme { - MeasureReportIndividualResultView( - subjectViewData = subjectViewData, - isMatchedIndicator = isMatchedIndicator, - ) - } + AppTheme { MeasureReportIndividualResultView(subjectViewData = subjectViewData) } } } } diff --git a/android/quest/src/main/AndroidManifest.xml b/android/quest/src/main/AndroidManifest.xml index 670a510e67..f078c2b0dd 100644 --- a/android/quest/src/main/AndroidManifest.xml +++ b/android/quest/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> stringResource( id = R.string.login_error, - stringResource(R.string.error_fetching_user_details), + stringResource( + org.smartregister.fhircore.quest.R.string.error_fetching_user_details, + ), ) LoginErrorState.INVALID_OFFLINE_STATE -> stringResource( diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainActivity.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainActivity.kt index 80eaa9ac89..ed9621297a 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainActivity.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainActivity.kt @@ -134,7 +134,10 @@ open class AppMainActivity : BaseMultiLanguageActivity(), QuestionnaireHandler, if (isDeviceOnline()) { syncBroadcaster.schedulePeriodicSync(applicationConfiguration.syncInterval) } else { - showToast(getString(R.string.sync_failed), Toast.LENGTH_LONG) + showToast( + getString(org.smartregister.fhircore.engine.R.string.sync_failed), + Toast.LENGTH_LONG, + ) } } schedulePeriodicJobs() @@ -160,8 +163,7 @@ open class AppMainActivity : BaseMultiLanguageActivity(), QuestionnaireHandler, val extractedResourceIds = activityResult.data?.serializable( QuestionnaireActivity.QUESTIONNAIRE_SUBMISSION_EXTRACTED_RESOURCE_IDS, - ) as List? - ?: emptyList() + ) as List? ?: emptyList() val questionnaireConfig = activityResult.data?.parcelable(QuestionnaireActivity.QUESTIONNAIRE_CONFIG) as QuestionnaireConfig? @@ -182,8 +184,7 @@ open class AppMainActivity : BaseMultiLanguageActivity(), QuestionnaireHandler, override fun onSync(syncJobStatus: SyncJobStatus) { when (syncJobStatus) { - is SyncJobStatus.Glitch, - is SyncJobStatus.Finished, + is SyncJobStatus.Succeeded, is SyncJobStatus.Failed, -> { appMainViewModel.run { onEvent( @@ -193,13 +194,6 @@ open class AppMainActivity : BaseMultiLanguageActivity(), QuestionnaireHandler, ), ) } - if (syncJobStatus is SyncJobStatus.Glitch) { - try { - Timber.e(syncJobStatus.exceptions.joinToString { it.exception.message.toString() }) - } catch (nullPointerException: NullPointerException) { - Timber.w("No exceptions reported on Sync Failure ", nullPointerException) - } - } } else -> { // Do nothing diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModel.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModel.kt index 04c9128536..3306ee593c 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModel.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModel.kt @@ -183,7 +183,7 @@ constructor( } is AppMainEvent.OpenRegistersBottomSheet -> displayRegisterBottomSheet(event) is AppMainEvent.UpdateSyncState -> { - if (event.state is SyncJobStatus.Finished) { + if (event.state is SyncJobStatus.Succeeded) { sharedPreferencesHelper.write( SharedPreferenceKey.LAST_SYNC_TIMESTAMP.name, formatLastSyncTimestamp(event.state.timestamp), diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/components/AppDrawer.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/components/AppDrawer.kt index bd9be2b2fe..92225589d0 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/components/AppDrawer.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/main/components/AppDrawer.kt @@ -203,7 +203,7 @@ private fun NavBottomSection( SideMenuItem( modifier.testTag(NAV_BOTTOM_SECTION_SIDE_MENU_ITEM_TEST_TAG), imageConfig = ImageConfig(type = ICON_TYPE_LOCAL, "ic_sync"), - title = stringResource(R.string.sync), + title = stringResource(org.smartregister.fhircore.engine.R.string.sync), endText = appUiState.lastSyncTime, showEndText = true, endTextColor = SubtitleTextColor, @@ -226,7 +226,7 @@ private fun OtherPatientsItem( imageConfig = navigationConfiguration.bottomSheetRegisters?.menuIconConfig, title = navigationConfiguration.bottomSheetRegisters?.display!!.ifEmpty { - stringResource(R.string.other_patients) + stringResource(org.smartregister.fhircore.engine.R.string.other_patients) }, endText = "", showEndText = false, @@ -240,7 +240,7 @@ private fun OtherPatientsItem( navController = navController, title = if (navigationConfiguration.bottomSheetRegisters?.display.isNullOrEmpty()) { - context.getString(R.string.other_patients) + context.getString(org.smartregister.fhircore.engine.R.string.other_patients) } else { navigationConfiguration.bottomSheetRegisters?.display }, @@ -318,8 +318,9 @@ private fun MenuActionButton( Spacer(modifier.width(16.dp)) Text( modifier = modifier.testTag(MENU_BUTTON_TEXT_TEST_TAG), - text = navigationConfiguration.menuActionButton?.display?.uppercase() - ?: stringResource(id = R.string.register_new_client), + text = + navigationConfiguration.menuActionButton?.display?.uppercase() + ?: stringResource(id = org.smartregister.fhircore.engine.R.string.register_new_client), color = MenuActionButtonTextColor, fontSize = 18.sp, ) diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileFragment.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileFragment.kt index 1c0feb5515..c674c4f4a9 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileFragment.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileFragment.kt @@ -51,9 +51,9 @@ class ProfileFragment : Fragment() { @Inject lateinit var eventBus: EventBus @Inject lateinit var configurationRegistry: ConfigurationRegistry - val profileFragmentArgs by navArgs() - val profileViewModel by viewModels() - val appMainViewModel by activityViewModels() + private val profileFragmentArgs by navArgs() + private val profileViewModel by viewModels() + private val appMainViewModel by activityViewModels() override fun onCreateView( inflater: LayoutInflater, diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileScreen.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileScreen.kt index 521636b454..38ad7f5295 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileScreen.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileScreen.kt @@ -167,8 +167,8 @@ fun ProfileScreen( item(key = profileUiState.resourceData?.baseResourceId) { ViewRenderer( viewProperties = profileUiState.profileConfiguration?.views ?: emptyList(), - resourceData = profileUiState.resourceData - ?: ResourceData("", ResourceType.Patient, emptyMap()), + resourceData = + profileUiState.resourceData ?: ResourceData("", ResourceType.Patient, emptyMap()), navController = navController, ) } @@ -241,8 +241,8 @@ private fun RenderSimpleAppTopBar( ) { ViewRenderer( viewProperties = topBarConfig.content, - resourceData = profileUiState.resourceData - ?: ResourceData("", ResourceType.Patient, emptyMap()), + resourceData = + profileUiState.resourceData ?: ResourceData("", ResourceType.Patient, emptyMap()), navController = navController, ) } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileViewModel.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileViewModel.kt index 34e950c31e..9ec4339bda 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileViewModel.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/ProfileViewModel.kt @@ -199,9 +199,11 @@ constructor( emitSnackBarState( snackBarMessageConfig = SnackBarMessageConfig( - message = event.managingEntityConfig?.managingEntityReassignedMessage + message = + event.managingEntityConfig?.managingEntityReassignedMessage ?: event.context.getString(R.string.reassigned_managing_entity), - actionLabel = event.context.getString(R.string.ok), + actionLabel = + event.context.getString(org.smartregister.fhircore.engine.R.string.ok), ), ) refreshProfileDataLiveData.value = true @@ -256,8 +258,7 @@ constructor( expression = managingEntity.nameFhirPathExpression!!, ), ) - } - ?: emptyList() + } ?: emptyList() // Show error message when no group members are found if (eligibleManagingEntities.isEmpty()) { diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/components/ChangeManagingEntityView.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/components/ChangeManagingEntityView.kt index 58ff281ff4..d7b6c97d24 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/components/ChangeManagingEntityView.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/profile/components/ChangeManagingEntityView.kt @@ -136,8 +136,8 @@ private fun ChangeManagingEntityBottomBar( ) { Text( fontSize = 14.sp, - color = colorResource(id = R.color.black), - text = stringResource(id = R.string.cancel), + color = colorResource(id = org.smartregister.fhircore.engine.R.color.black), + text = stringResource(id = org.smartregister.fhircore.engine.R.string.cancel), ) } TextButton( @@ -150,13 +150,24 @@ private fun ChangeManagingEntityBottomBar( colors = ButtonDefaults.textButtonColors( backgroundColor = - colorResource(id = if (isEnabled) R.color.colorPrimary else R.color.white), + colorResource( + id = + if (isEnabled) { + org.smartregister.fhircore.engine.R.color.colorPrimary + } else org.smartregister.fhircore.engine.R.color.white, + ), ), ) { Text( fontSize = 14.sp, - color = colorResource(id = if (isEnabled) R.color.white else R.color.colorPrimary), - text = stringResource(id = R.string.str_save).uppercase(), + color = + colorResource( + id = + if (isEnabled) { + org.smartregister.fhircore.engine.R.color.white + } else org.smartregister.fhircore.engine.R.color.colorPrimary, + ), + text = stringResource(id = org.smartregister.fhircore.engine.R.string.str_save).uppercase(), ) } } @@ -200,7 +211,8 @@ private fun ChangeManagingEntityTopBar( .height(IntrinsicSize.Min) .padding(horizontal = 12.dp, vertical = 18.dp) .background( - color = colorResource(id = R.color.background_warning), + color = + colorResource(id = org.smartregister.fhircore.engine.R.color.background_warning), shape = RoundedCornerShape(8.dp), ), ) { diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivity.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivity.kt index 98b7cfda4a..84d24f3a79 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivity.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivity.kt @@ -65,7 +65,7 @@ class QuestionnaireActivity : BaseMultiLanguageActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setTheme(R.style.AppTheme_Questionnaire) + setTheme(org.smartregister.fhircore.engine.R.style.AppTheme_Questionnaire) viewBinding = QuestionnaireActivityBinding.inflate(layoutInflater) setContentView(viewBinding.root) with(intent) { @@ -189,8 +189,10 @@ class QuestionnaireActivity : BaseMultiLanguageActivity() { } if (launchContextResources.isNotEmpty()) { - questionnaireFragmentBuilder.setQuestionnaireLaunchContexts( - launchContextResources.map { it.json() }, + questionnaireFragmentBuilder.setQuestionnaireLaunchContextMap( + launchContextResources.associate { + Pair(it.resourceType.name.lowercase(), it.encodeResourceToString()) + }, ) } @@ -267,24 +269,31 @@ class QuestionnaireActivity : BaseMultiLanguageActivity() { } else if (questionnaireConfig.saveDraft) { AlertDialogue.showCancelAlert( context = this, - message = R.string.questionnaire_in_progress_alert_back_pressed_message, - title = R.string.questionnaire_alert_back_pressed_title, + message = + org.smartregister.fhircore.engine.R.string + .questionnaire_in_progress_alert_back_pressed_message, + title = org.smartregister.fhircore.engine.R.string.questionnaire_alert_back_pressed_title, confirmButtonListener = { retrieveQuestionnaireResponse()?.let { questionnaireResponse -> viewModel.saveDraftQuestionnaire(questionnaireResponse) } }, - confirmButtonText = R.string.questionnaire_alert_back_pressed_save_draft_button_title, + confirmButtonText = + org.smartregister.fhircore.engine.R.string + .questionnaire_alert_back_pressed_save_draft_button_title, neutralButtonListener = { finish() }, - neutralButtonText = R.string.questionnaire_alert_back_pressed_button_title, + neutralButtonText = + org.smartregister.fhircore.engine.R.string.questionnaire_alert_back_pressed_button_title, ) } else { AlertDialogue.showConfirmAlert( context = this, - message = R.string.questionnaire_alert_back_pressed_message, - title = R.string.questionnaire_alert_back_pressed_title, + message = + org.smartregister.fhircore.engine.R.string.questionnaire_alert_back_pressed_message, + title = org.smartregister.fhircore.engine.R.string.questionnaire_alert_back_pressed_title, confirmButtonListener = { finish() }, - confirmButtonText = R.string.questionnaire_alert_back_pressed_button_title, + confirmButtonText = + org.smartregister.fhircore.engine.R.string.questionnaire_alert_back_pressed_button_title, ) } } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModel.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModel.kt index 026aaabe3f..d50548bcd7 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModel.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModel.kt @@ -22,6 +22,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import ca.uhn.fhir.context.FhirContext import com.google.android.fhir.datacapture.mapping.ResourceMapper import com.google.android.fhir.datacapture.mapping.StructureMapExtractionContext import com.google.android.fhir.datacapture.validation.NotValidated @@ -30,6 +31,8 @@ import com.google.android.fhir.datacapture.validation.Valid import com.google.android.fhir.db.ResourceNotFoundException import com.google.android.fhir.logicalId import com.google.android.fhir.search.Search +import com.google.android.fhir.search.filter.TokenParamFilterCriterion +import com.google.android.fhir.search.search import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.lifecycle.HiltViewModel import java.util.Date @@ -39,18 +42,22 @@ import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import org.hl7.fhir.r4.context.IWorkerContext +import org.hl7.fhir.r4.model.Base import org.hl7.fhir.r4.model.Basic import org.hl7.fhir.r4.model.Bundle import org.hl7.fhir.r4.model.Group import org.hl7.fhir.r4.model.IdType +import org.hl7.fhir.r4.model.Library import org.hl7.fhir.r4.model.ListResource import org.hl7.fhir.r4.model.ListResource.ListEntryComponent +import org.hl7.fhir.r4.model.Parameters import org.hl7.fhir.r4.model.Questionnaire import org.hl7.fhir.r4.model.QuestionnaireResponse import org.hl7.fhir.r4.model.RelatedPerson import org.hl7.fhir.r4.model.Resource import org.hl7.fhir.r4.model.ResourceType import org.hl7.fhir.r4.model.StringType +import org.smartregister.fhircore.engine.BuildConfig import org.smartregister.fhircore.engine.configuration.GroupResourceConfig import org.smartregister.fhircore.engine.configuration.QuestionnaireConfig import org.smartregister.fhircore.engine.data.local.DefaultRepository @@ -96,6 +103,7 @@ constructor( val fhirOperator: FhirOperator, val fhirPathDataExtractor: FhirPathDataExtractor, ) : ViewModel() { + private val parser = FhirContext.forR4Cached().newJsonParser() private val authenticatedOrganizationIds by lazy { sharedPreferencesHelper.read>(ResourceType.Organization.name) @@ -125,8 +133,7 @@ constructor( val questionnaireComputedValues = questionnaireConfig.configRules?.let { resourceDataRulesExecutor.computeResourceDataRules(it, null, emptyMap()) - } - ?: emptyMap() + } ?: emptyMap() val allActionParameters = actionParameters?.plus( @@ -293,8 +300,7 @@ constructor( val extractedResourceUniquePropertyExpressionsMap = questionnaireConfig.extractedResourceUniquePropertyExpressions?.associateBy { it.resourceType - } - ?: emptyMap() + } ?: emptyMap() bundle.entry?.forEach { bundleEntryComponent -> bundleEntryComponent.resource?.run { @@ -610,13 +616,50 @@ constructor( val basicResource = defaultRepository.loadResource(resourceId) as Basic? bundle.addEntry(Bundle.BundleEntryComponent().setResource(basicResource)) } - questionnaire.cqfLibraryUrls().forEach { library -> - if (subject.resourceType == ResourceType.Patient) { - fhirOperator.evaluateLibrary(library, subject.asReference().reference, null, setOf()) + + val libraryFilters = + questionnaire.cqfLibraryUrls().map { + val apply: TokenParamFilterCriterion.() -> Unit = { value = of(it.extractLogicalIdUuid()) } + apply } + + if (libraryFilters.isNotEmpty()) { + defaultRepository.fhirEngine + .search { filter(Resource.RES_ID, *libraryFilters.toTypedArray()) } + .forEach { librarySearchResult -> + val result: Parameters = + fhirOperator.evaluateLibrary( + librarySearchResult.resource.url, + subject.asReference().reference, + null, + bundle, + null, + ) as Parameters + + result.parameter.mapNotNull { cqlResultParameterComponent -> + (cqlResultParameterComponent.value ?: cqlResultParameterComponent.resource)?.let { + resultParameterResource -> + if ( + cqlResultParameterComponent.name.equals(OUTPUT_PARAMETER_KEY) && + resultParameterResource.isResource + ) { + defaultRepository.create(true, resultParameterResource as Resource) + } + + if (BuildConfig.DEBUG) { + Timber.d( + "CQL :: Param found: ${cqlResultParameterComponent.name} with value: ${getStringRepresentation(resultParameterResource)}", + ) + } + } + } + } } } + private fun getStringRepresentation(base: Base): String = + if (base.isResource) parser.encodeResourceToString(base as Resource) else base.toString() + /** * This function generates CarePlans for the [QuestionnaireResponse.subject] using the configured * [QuestionnaireConfig.planDefinitions] @@ -641,7 +684,7 @@ constructor( } /** Update the [Group.managingEntity] */ - suspend fun updateGroupManagingEntity( + private suspend fun updateGroupManagingEntity( resource: Resource, groupIdentifier: String?, managingEntityRelationshipCode: String?, @@ -676,8 +719,7 @@ constructor( // Load the Group resource from the database to get the updated one val group = groupIdentifier?.extractLogicalIdUuid()?.let { loadResource(ResourceType.Group, it) } - as Group? - ?: return + as Group? ?: return val reference = resource.asReference() val member = group.member.find { it.entity.reference.equals(reference.reference, true) } @@ -836,5 +878,6 @@ constructor( companion object { const val CONTAINED_LIST_TITLE = "GeneratedResourcesList" + const val OUTPUT_PARAMETER_KEY = "OUTPUT" } } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/register/RegisterFragment.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/register/RegisterFragment.kt index c1a8d89edc..43745be40e 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/register/RegisterFragment.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/register/RegisterFragment.kt @@ -52,12 +52,12 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import org.hl7.fhir.r4.model.QuestionnaireResponse +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.domain.model.SnackBarMessageConfig import org.smartregister.fhircore.engine.sync.OnSyncListener import org.smartregister.fhircore.engine.sync.SyncListenerManager import org.smartregister.fhircore.engine.ui.theme.AppTheme import org.smartregister.fhircore.engine.util.SharedPreferencesHelper -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.event.AppEvent import org.smartregister.fhircore.quest.event.EventBus import org.smartregister.fhircore.quest.navigation.MainNavigationScreen @@ -200,7 +200,7 @@ class RegisterFragment : Fragment(), OnSyncListener { } is SyncJobStatus.InProgress -> emitPercentageProgress(syncJobStatus, syncJobStatus.syncOperation == SyncOperation.UPLOAD) - is SyncJobStatus.Finished -> { + is SyncJobStatus.Succeeded -> { refreshRegisterData() lifecycleScope.launch { registerViewModel.emitSnackBarState( diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportMainScreen.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportMainScreen.kt index 4e1e22ccb3..68ba48ec79 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportMainScreen.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportMainScreen.kt @@ -24,7 +24,7 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import androidx.navigation.navArgument -import org.smartregister.fhircore.quest.R +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.quest.navigation.MeasureReportNavigationScreen import org.smartregister.fhircore.quest.navigation.NavigationArg import org.smartregister.fhircore.quest.ui.report.measure.screens.MeasureReportListScreen diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportIndividualResultView.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportIndividualResultView.kt index 02a1b33075..38bb0ad380 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportIndividualResultView.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportIndividualResultView.kt @@ -35,7 +35,6 @@ import androidx.compose.ui.unit.sp import org.hl7.fhir.r4.model.ResourceType import org.smartregister.fhircore.engine.ui.theme.SubtitleTextColor import org.smartregister.fhircore.engine.util.annotation.PreviewWithBackgroundExcludeGenerated -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.shared.models.MeasureReportSubjectViewData const val PERSONAL_DETAILS_TEST_TAG = "personalDetailsTestTag" @@ -49,13 +48,12 @@ const val RESULT_VIEW_INDICATOR_DESCRIPTION = "resultViewIndicatorDescription" fun MeasureReportIndividualResultView( modifier: Modifier = Modifier, subjectViewData: MeasureReportSubjectViewData, - isMatchedIndicator: Boolean = true, ) { Box( modifier = modifier .clip(RoundedCornerShape(15.dp)) - .background(color = colorResource(id = R.color.white)) + .background(color = colorResource(id = org.smartregister.fhircore.engine.R.color.white)) .wrapContentWidth() .testTag(INDIVIDUAL_RESULT_VIEW_CONTAINER_TEST_TAG), contentAlignment = Alignment.Center, @@ -85,6 +83,5 @@ private fun MeasureReportIndividualResultViewPreview() { logicalId = "12444", type = ResourceType.Patient, ), - isMatchedIndicator = true, ) } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportPopulationResultView.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportPopulationResultView.kt index d8c2c8ad81..0333a43d0d 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportPopulationResultView.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportPopulationResultView.kt @@ -64,7 +64,7 @@ private fun PopulationResultCard( modifier = modifier .clip(RoundedCornerShape(8.dp)) - .background(color = colorResource(id = R.color.white)) + .background(color = colorResource(id = org.smartregister.fhircore.engine.R.color.white)) .padding(16.dp) .fillMaxWidth(), ) { @@ -72,14 +72,14 @@ private fun PopulationResultCard( Row(modifier = modifier.fillMaxWidth()) { Text( text = resultItem.title.ifEmpty { resultItem.indicatorTitle }.uppercase(), - color = colorResource(id = R.color.black), + color = colorResource(id = org.smartregister.fhircore.engine.R.color.black), fontSize = 16.sp, modifier = modifier.weight(1.0f).testTag(POPULATION_INDICATOR_TITLE), textAlign = TextAlign.Start, ) Text( - text = resultItem.measureReportDenominator.let { it?.toString() ?: "0" }, - color = colorResource(id = R.color.black), + text = resultItem.measureReportDenominator, + color = colorResource(id = org.smartregister.fhircore.engine.R.color.black), fontSize = 16.sp, modifier = modifier.weight(1.0f).testTag(POPULATION_COUNT_TEST_TAG), textAlign = TextAlign.End, @@ -89,14 +89,14 @@ private fun PopulationResultCard( Row(modifier = modifier.fillMaxWidth()) { Text( text = it.title, - color = colorResource(id = R.color.black), + color = colorResource(id = org.smartregister.fhircore.engine.R.color.black), fontSize = 15.sp, modifier = modifier.weight(1.0f).testTag(DETAILS_INDICATOR_TITLE), textAlign = TextAlign.Start, ) Text( text = it.count, - color = colorResource(id = R.color.black), + color = colorResource(id = org.smartregister.fhircore.engine.R.color.black), fontSize = 15.sp, modifier = modifier.weight(1.0f).testTag(DETAILS_COUNT_TEST_TAG), textAlign = TextAlign.End, diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportRow.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportRow.kt index 86c95bf87f..9c7f6c2917 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportRow.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/MeasureReportRow.kt @@ -36,8 +36,8 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.util.annotation.PreviewWithBackgroundExcludeGenerated -import org.smartregister.fhircore.quest.R const val MEASURE_ROW_TITLE_TEST_TAG = "measureRowTitleTestTag" const val MEASURE_ROW_FORWARD_ARROW_TEST_TAG = "measureRowForwardArrowTestTag" @@ -60,7 +60,7 @@ fun MeasureReportRow(title: String, onRowClick: () -> Unit, modifier: Modifier = Spacer(modifier = modifier.height(8.dp)) } Image( - painter = painterResource(id = R.drawable.ic_forward_arrow), + painter = painterResource(id = org.smartregister.fhircore.quest.R.drawable.ic_forward_arrow), contentDescription = "", colorFilter = ColorFilter.tint(colorResource(id = R.color.status_gray)), modifier = Modifier.padding(end = 12.dp).testTag(MEASURE_ROW_FORWARD_ARROW_TEST_TAG), diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/SubjectSelector.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/SubjectSelector.kt index 5482aeeb7d..0e31849f76 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/SubjectSelector.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/components/SubjectSelector.kt @@ -44,9 +44,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import org.hl7.fhir.r4.model.ResourceType +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.ui.theme.InfoColor import org.smartregister.fhircore.engine.util.annotation.PreviewWithBackgroundExcludeGenerated -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.shared.models.MeasureReportSubjectViewData const val SUBJECT_NAME_TEST_TAG = "subjectNameTestTag" diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportListScreen.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportListScreen.kt index d1601bfc71..fd6d09f705 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportListScreen.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportListScreen.kt @@ -45,8 +45,8 @@ import androidx.navigation.NavController import androidx.paging.PagingData import androidx.paging.compose.collectAsLazyPagingItems import kotlinx.coroutines.flow.Flow +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.configuration.report.measure.ReportConfiguration -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.report.measure.components.MeasureReportRow @Composable diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportResultScreen.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportResultScreen.kt index 8807a10820..e14357d96d 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportResultScreen.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/screens/MeasureReportResultScreen.kt @@ -44,8 +44,8 @@ import androidx.compose.ui.unit.sp import androidx.navigation.NavController import androidx.navigation.compose.rememberNavController import org.hl7.fhir.r4.model.ResourceType +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.util.annotation.PreviewWithBackgroundExcludeGenerated -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.report.measure.MeasureReportViewModel import org.smartregister.fhircore.quest.ui.report.measure.components.DateRangeItem import org.smartregister.fhircore.quest.ui.report.measure.components.MeasureReportIndividualResultView @@ -127,17 +127,14 @@ fun MeasureReportResultPage( subjectViewData.forEach { MeasureReportIndividualResultView( subjectViewData = it, - isMatchedIndicator = measureReportIndividualResult.isMatchedIndicator, ) } } } if (measureReportPopulationResult != null) { - println("FIKRI 2") MeasureReportPopulationResultView( measureReportPopulationResult.distinctBy { it.title }, ) - println("FIKRI 2.1") } } } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/worker/MeasureReportWorker.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/worker/MeasureReportWorker.kt index d6884ab1b7..c6f272384c 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/worker/MeasureReportWorker.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/report/measure/worker/MeasureReportWorker.kt @@ -132,7 +132,7 @@ constructor( start = startDateFormatted, end = endDateFormatted, reportType = MeasureReportViewModel.POPULATION, - subject = null, + subjectId = null, practitioner = null, /* TODO DO NOT pass this id to MeasureProcessor as this is treated as subject if subject is null. practitionerId?.asReference(ResourceType.Practitioner)?.reference*/ diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/CompoundText.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/CompoundText.kt index 2d1e3dc253..37f546db93 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/CompoundText.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/CompoundText.kt @@ -20,6 +20,8 @@ import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth @@ -38,7 +40,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.navigation.NavController import androidx.navigation.compose.rememberNavController -import com.google.accompanist.flowlayout.FlowRow import org.hl7.fhir.r4.model.ResourceType import org.smartregister.fhircore.engine.configuration.view.CompoundTextProperties import org.smartregister.fhircore.engine.configuration.view.SpacerProperties @@ -58,6 +59,7 @@ import org.smartregister.fhircore.quest.util.extensions.conditional import org.smartregister.fhircore.quest.util.extensions.handleClickEvent import org.smartregister.p2p.utils.capitalize +@OptIn(ExperimentalLayoutApi::class) @Composable fun CompoundText( modifier: Modifier = Modifier, @@ -161,7 +163,8 @@ private fun CompoundTextPart( TextCase.TITLE_CASE -> text.capitalize() null -> text }.removeExtraWhiteSpaces(), - color = textColor?.parseColor()?.copy(alpha = colorOpacity) + color = + textColor?.parseColor()?.copy(alpha = colorOpacity) ?: DefaultColor.copy(alpha = colorOpacity), modifier = modifier diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/List.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/List.kt index 432329d4d6..4ab1e7718c 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/List.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/List.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:OptIn(ExperimentalLayoutApi::class) + package org.smartregister.fhircore.quest.ui.shared.components import androidx.compose.animation.AnimatedVisibility @@ -21,6 +23,8 @@ import androidx.compose.animation.slideInVertically import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth @@ -38,7 +42,6 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.unit.dp import androidx.navigation.NavController import androidx.navigation.compose.rememberNavController -import com.google.accompanist.flowlayout.FlowRow import org.hl7.fhir.r4.model.ResourceType import org.smartregister.fhircore.engine.configuration.register.NoResultsConfig import org.smartregister.fhircore.engine.configuration.register.RegisterCardConfig diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/PersonalDataView.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/PersonalDataView.kt index 2cd9f0ad7d..98b477249c 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/PersonalDataView.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/PersonalDataView.kt @@ -14,10 +14,14 @@ * limitations under the License. */ +@file:OptIn(ExperimentalLayoutApi::class) + package org.smartregister.fhircore.quest.ui.shared.components import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable @@ -26,7 +30,6 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp import androidx.navigation.NavController import androidx.navigation.compose.rememberNavController -import com.google.accompanist.flowlayout.FlowRow import org.hl7.fhir.r4.model.ResourceType import org.smartregister.fhircore.engine.configuration.view.CompoundTextProperties import org.smartregister.fhircore.engine.configuration.view.PersonalDataItem diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/SearchBar.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/SearchBar.kt index 02a7d512a6..2aad3327f4 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/SearchBar.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/SearchBar.kt @@ -46,8 +46,8 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.util.annotation.PreviewWithBackgroundExcludeGenerated -import org.smartregister.fhircore.quest.R class SearchView diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/ViewGenerator.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/ViewGenerator.kt index e629a32226..b081274791 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/ViewGenerator.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/shared/components/ViewGenerator.kt @@ -22,6 +22,9 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowColumn +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxHeight @@ -37,8 +40,6 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.dp import androidx.navigation.NavController -import com.google.accompanist.flowlayout.FlowColumn -import com.google.accompanist.flowlayout.FlowRow import org.smartregister.fhircore.engine.configuration.view.ButtonProperties import org.smartregister.fhircore.engine.configuration.view.CardViewProperties import org.smartregister.fhircore.engine.configuration.view.ColumnProperties @@ -61,6 +62,7 @@ import org.smartregister.fhircore.quest.util.extensions.handleClickEvent const val COLUMN_DIVIDER_TEST_TAG = "horizontalDividerTestTag" +@OptIn(ExperimentalLayoutApi::class) @Composable fun GenerateView( modifier: Modifier = Modifier, diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingFragment.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingFragment.kt index 71225a6538..63401a0127 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingFragment.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingFragment.kt @@ -40,11 +40,11 @@ import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject import kotlinx.coroutines.launch import org.smartregister.fhircore.engine.BuildConfig +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.domain.model.SnackBarMessageConfig import org.smartregister.fhircore.engine.sync.OnSyncListener import org.smartregister.fhircore.engine.sync.SyncListenerManager import org.smartregister.fhircore.engine.ui.theme.AppTheme -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.ui.main.AppMainViewModel import org.smartregister.fhircore.quest.ui.shared.components.SnackBarMessage import org.smartregister.fhircore.quest.util.extensions.hookSnackBar @@ -132,7 +132,7 @@ class UserSettingFragment : Fragment(), OnSyncListener { SnackBarMessageConfig(message = getString(R.string.syncing)), ) } - is SyncJobStatus.Finished -> { + is SyncJobStatus.Succeeded -> { lifecycleScope.launch { userSettingViewModel.emitSnackBarState( SnackBarMessageConfig( diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingInsightScreen.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingInsightScreen.kt index 064c679840..38ea1fbbaf 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingInsightScreen.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/usersetting/UserSettingInsightScreen.kt @@ -66,9 +66,9 @@ import java.text.SimpleDateFormat import java.util.Date import java.util.Locale import kotlinx.coroutines.flow.MutableSharedFlow +import org.smartregister.fhircore.engine.R import org.smartregister.fhircore.engine.ui.theme.DividerColor import org.smartregister.fhircore.engine.ui.theme.LoginDarkColor -import org.smartregister.fhircore.quest.R const val USER_INSIGHT_TOP_APP_BAR = "userInsightToAppBar" const val INSIGHT_UNSYNCED_DATA = "insightUnsynceData" diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/util/extensions/ConfigExtensions.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/util/extensions/ConfigExtensions.kt index e8e83a1b4c..3c749e6472 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/util/extensions/ConfigExtensions.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/util/extensions/ConfigExtensions.kt @@ -178,5 +178,4 @@ fun navOptions(resId: Int, inclusive: Boolean = false, singleOnTop: Boolean = tr fun Array?.toParamDataMap(): Map = this?.asSequence() ?.filter { it.paramType == ActionParameterType.PARAMDATA } - ?.associate { it.key to it.value } - ?: emptyMap() + ?.associate { it.key to it.value } ?: emptyMap() diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/CqlContentTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/CqlContentTest.kt index 71526cb911..d9724ab580 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/CqlContentTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/CqlContentTest.kt @@ -16,112 +16,56 @@ package org.smartregister.fhircore.quest -import ca.uhn.fhir.context.FhirContext -import ca.uhn.fhir.context.FhirVersionEnum -import ca.uhn.fhir.parser.IParser import com.google.android.fhir.FhirEngine -import com.google.android.fhir.logicalId +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest -import io.mockk.coEvery -import io.mockk.coVerify -import io.mockk.mockk -import io.mockk.slot -import io.mockk.spyk +import java.io.File import javax.inject.Inject -import kotlinx.coroutines.runBlocking -import org.cqframework.cql.cql2elm.CqlTranslator -import org.cqframework.cql.cql2elm.CqlTranslatorOptions -import org.cqframework.cql.cql2elm.LibraryManager -import org.cqframework.cql.cql2elm.ModelManager -import org.cqframework.cql.cql2elm.quick.FhirLibrarySourceProvider import org.hl7.fhir.r4.model.Bundle import org.hl7.fhir.r4.model.Library -import org.hl7.fhir.r4.model.Observation import org.hl7.fhir.r4.model.Parameters -import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.Resource import org.hl7.fhir.r4.model.ResourceType import org.junit.Assert import org.junit.Before -import org.junit.Ignore import org.junit.Rule import org.junit.Test -import org.smartregister.fhircore.engine.configuration.app.ConfigService -import org.smartregister.fhircore.engine.data.local.DefaultRepository -import org.smartregister.fhircore.engine.rulesengine.ConfigRulesExecutor import org.smartregister.fhircore.engine.util.DispatcherProvider import org.smartregister.fhircore.engine.util.extension.encodeResourceToString -import org.smartregister.fhircore.engine.util.fhirpath.FhirPathDataExtractor -import org.smartregister.fhircore.quest.app.fakes.Faker +import org.smartregister.fhircore.engine.util.extension.valueToString import org.smartregister.fhircore.quest.robolectric.RobolectricTest +import org.smartregister.fhircore.quest.sdk.CqlBuilder +import org.smartregister.fhircore.quest.sdk.runBlockingOnWorkerThread @HiltAndroidTest class CqlContentTest : RobolectricTest() { - @get:Rule(order = 0) var hiltRule = HiltAndroidRule(this) - private val fhirContext: FhirContext = FhirContext.forCached(FhirVersionEnum.R4) - private val parser = fhirContext.newJsonParser()!! - private val configurationRegistry = Faker.buildTestConfigurationRegistry() - private val configService: ConfigService = mockk() - private val configRulesExecutor: ConfigRulesExecutor = mockk() - private lateinit var defaultRepository: DefaultRepository + @get:Rule var hiltRule = HiltAndroidRule(this) - @Inject lateinit var fhirEngine: FhirEngine - - @Inject lateinit var fhirPathDataExtractor: FhirPathDataExtractor + @Inject lateinit var knowledgeManager: KnowledgeManager @Inject lateinit var fhirOperator: FhirOperator - @Inject lateinit var dispatcherProvider: DispatcherProvider + @Inject lateinit var fhirEngine: FhirEngine - @Inject lateinit var iParser: IParser + @Inject lateinit var dispatcherProvider: DispatcherProvider @Before fun setUp() { hiltRule.inject() - defaultRepository = - spyk( - DefaultRepository( - fhirEngine = fhirEngine, - dispatcherProvider = dispatcherProvider, - sharedPreferencesHelper = mockk(), - configurationRegistry = configurationRegistry, - configService = configService, - configRulesExecutor = configRulesExecutor, - fhirPathDataExtractor = fhirPathDataExtractor, - parser = iParser, - ), - ) } @Test - fun runCqlLibraryTestForPqMedication() { + fun runCqlLibraryTestForPqMedication() = runBlockingOnWorkerThread { val resourceDir = "cql/pq-medication" val cql = "$resourceDir/cql.txt".readFile() - val cqlElm = toJsonElm(cql).readStringToBase64Encoded() - val cqlLibrary = - parser.parseResource( - "$resourceDir/library.json".readFile().replace("#library-elm.json", cqlElm), - ) as Library - - println(cqlLibrary.convertToString(false) as String) - - val fhirHelpersLibrary = "cql-common/helper.json".parseSampleResourceFromFile() as Library + val cqlLibrary = buildCqlLibrary(cql) - val patient = - "patient-registration-questionnaire/sample/patient.json".parseSampleResourceFromFile() - as Patient val dataBundle = - Bundle().apply { - // output of test results extraction is input of this cql - "test-results-questionnaire/sample" - .readDir() - .map { it.parseSampleResource() as Resource } - .forEach { addEntry().apply { resource = it } } - + loadTestResultsSampleData().apply { // output of test results cql is also added to input of this cql "cql/test-results/sample" .readDir() @@ -129,63 +73,45 @@ class CqlContentTest : RobolectricTest() { .forEach { addEntry().apply { resource = it } } } - coEvery { fhirEngine.get(ResourceType.Library, cqlLibrary.logicalId) } returns cqlLibrary - coEvery { fhirEngine.get(ResourceType.Library, fhirHelpersLibrary.logicalId) } returns - fhirHelpersLibrary - coEvery { defaultRepository.create(any(), any()) } returns emptyList() - coEvery { defaultRepository.searchCondition(any()) } returns listOf() + createTestData(dataBundle, cqlLibrary) - runBlocking { fhirEngine.create(*dataBundle.entry.map { it.resource }.toTypedArray()) } val result = - fhirOperator.evaluateLibrary(cqlLibrary.url, patient.id, null, setOf()) as Parameters + fhirOperator.evaluateLibrary( + cqlLibrary.url, + dataBundle.entry.find { it.resource.resourceType == ResourceType.Patient }!!.resource.id, + null, + ) as Parameters + + printResult(result) assertOutput( "$resourceDir/output_medication_request.json", - result.parameter.filter { it.name == "OUTPUT" }.map { it.resource.encodeResourceToString() }, + result, ResourceType.MedicationRequest, ) - - coVerify { defaultRepository.create(any(), any()) } } @Test - fun runCqlLibraryTestForTestResults() { + fun runCqlLibraryTestForTestResults() = runBlockingOnWorkerThread { val resourceDir = "cql/test-results" val cql = "$resourceDir/cql.txt".readFile() - val cqlElm = toJsonElm(cql).readStringToBase64Encoded() - val cqlLibrary = - parser.parseResource( - "$resourceDir/library.json".readFile().replace("#library-elm.json", cqlElm), - ) as Library + val cqlLibrary = buildCqlLibrary(cql) - println(cqlLibrary.convertToString(false) as String) - - val fhirHelpersLibrary = "cql-common/helper.json".parseSampleResourceFromFile() as Library - - val patient = - "patient-registration-questionnaire/sample/patient.json".parseSampleResourceFromFile() - as Patient - val dataBundle = - Bundle().apply { - // output of test results extraction is input of this cql - "test-results-questionnaire/sample" - .readDir() - .map { it.parseSampleResource() as Resource } - .forEach { addEntry().apply { resource = it } } - } + val dataBundle = loadTestResultsSampleData() - coEvery { fhirEngine.get(ResourceType.Library, cqlLibrary.logicalId) } returns cqlLibrary - coEvery { fhirEngine.get(ResourceType.Library, fhirHelpersLibrary.logicalId) } returns - fhirHelpersLibrary - coEvery { defaultRepository.create(any(), any()) } returns emptyList() - coEvery { defaultRepository.searchCondition(any()) } returns listOf() + createTestData(dataBundle, cqlLibrary) - runBlocking { fhirEngine.create(*dataBundle.entry.map { it.resource }.toTypedArray()) } val result = - (fhirOperator.evaluateLibrary(cqlLibrary.url, patient.id, null, setOf()) as Parameters) - .parameter - .map { it.resource.encodeResourceToString() } + fhirOperator.evaluateLibrary( + cqlLibrary.url, + dataBundle.entry.find { it.resource.resourceType == ResourceType.Patient }!!.resource.id, + null, + null, + null, + ) as Parameters + + printResult(result) assertOutput("$resourceDir/sample/output_condition.json", result, ResourceType.Condition) assertOutput( @@ -198,28 +124,17 @@ class CqlContentTest : RobolectricTest() { result, ResourceType.DiagnosticReport, ) - - coVerify(exactly = 3) { defaultRepository.create(any(), any()) } } - @Ignore @Test - fun runCqlLibraryTestForControlTest() { + fun runCqlLibraryTestForControlTest() = runBlockingOnWorkerThread { val resourceDir = "cql/control-test" val cql = "$resourceDir/cql.txt".readFile() - val cqlElm = toJsonElm(cql).readStringToBase64Encoded() - val cqlLibrary = - parser.parseResource( - "$resourceDir/library.json".readFile().replace("#library-elm.json", cqlElm), - ) as Library - - println(cqlLibrary.convertToString(false) as String) - - val fhirHelpersLibrary = "cql-common/helper.json".parseSampleResourceFromFile() as Library + val cqlLibrary = buildCqlLibrary(cql) val dataBundle = - Bundle().apply { + loadTestResultsSampleData().apply { addEntry().apply { // questionnaire-response of test results is input of this cql resource = @@ -228,71 +143,98 @@ class CqlContentTest : RobolectricTest() { } } - coEvery { fhirEngine.get(ResourceType.Library, cqlLibrary.logicalId) } returns cqlLibrary - coEvery { fhirEngine.get(ResourceType.Library, fhirHelpersLibrary.logicalId) } returns - fhirHelpersLibrary - coEvery { defaultRepository.create(any(), any()) } returns emptyList() - coEvery { configService.provideResourceTags(any()) } returns listOf() + createTestData(dataBundle, cqlLibrary) - runBlocking { fhirEngine.create(*dataBundle.entry.map { it.resource }.toTypedArray()) } val result = - (fhirOperator.evaluateLibrary(cqlLibrary.url, null, null, setOf()) as Parameters) - .parameter - .map { if (it.hasValue()) it.value else it.resource.encodeResourceToString() } + fhirOperator.evaluateLibrary( + cqlLibrary.url, + dataBundle.entry.find { it.resource.resourceType == ResourceType.Patient }!!.resource.id, + null, + ) as Parameters - println(result) + printResult(result) - Assert.assertTrue(result.contains("OUTPUT -> Correct Result")) Assert.assertTrue( - result.contains( - "OUTPUT -> \nDetails:\n" + - "Value (3.0) is in Normal G6PD Range 0-3\n" + - "Value (11.0) is in Normal Haemoglobin Range 8-12", - ), - ) - - val observationSlot = slot() - val booleanSlot = slot() - coVerify { defaultRepository.create(capture(booleanSlot), capture(observationSlot)) } - - Assert.assertEquals( - "QuestionnaireResponse/TEST_QUESTIONNAIRE_RESPONSE", - observationSlot.captured.focusFirstRep.reference, + result.getParameterValues("OUTPUT").first().valueToString() == "Correct Result", ) Assert.assertEquals( - "Correct Result", - observationSlot.captured.valueCodeableConcept.codingFirstRep.display, + result.getParameterValues("OUTPUT").elementAt(1).valueToString(), + "\nDetails:\n" + + "Value (3.0) is in Normal G6PD Range 0-3\n" + + "Value (11.0) is in Normal Haemoglobin Range 8-12", ) - Assert.assertEquals("Device Operation", observationSlot.captured.code.codingFirstRep.display) } - private fun toJsonElm(cql: String): String { - val libraryManager = LibraryManager(ModelManager()) - libraryManager.librarySourceLoader.registerProvider(FhirLibrarySourceProvider()) - - val translator: CqlTranslator = - CqlTranslator.fromText( - cql, - libraryManager.modelManager, - libraryManager, - *CqlTranslatorOptions.defaultOptions().options.toTypedArray(), + private fun buildCqlLibrary(cql: String): Library { + val cqlCompiler = CqlBuilder.compile(cql) + val libraryIdentifier = cqlCompiler.translatedLibrary.library.identifier + return CqlBuilder.assembleFhirLib( + cqlStr = cql, + jsonElmStr = cqlCompiler.toJson(), + xmlElmStr = null, + libName = libraryIdentifier.id, + libVersion = libraryIdentifier.version, ) + .also { println(it.encodeResourceToString()) } + } + + private fun loadTestResultsSampleData(): Bundle { + return Bundle().apply { + // output of test results extraction is input of this cql + "test-results-questionnaire/sample" + .readDir() + .map { it.parseSampleResource() as Resource } + .forEach { addEntry().apply { resource = it } } + } + } + + private suspend fun createTestData(dataBundle: Bundle, cqlLibrary: Library) { + dataBundle.entry.forEach { fhirEngine.create(it.resource) } - return translator.toJson().also { println(it.replace("\n", "").replace(" ", "")) } + knowledgeManager.install( + File.createTempFile(cqlLibrary.name, ".json").apply { + this.writeText(cqlLibrary.encodeResourceToString()) + }, + ) } - private fun assertOutput(resource: String, cqlResult: List, type: ResourceType) { - println(cqlResult) + private fun printResult(result: Parameters) { + result.parameter.forEach { + println( + it.name + + " -> " + + if (it.hasResource()) { + it.resource.encodeResourceToString() + } else if (it.hasValue()) it.value.valueToString() else " FOUND NULL", + ) + } + } + + private fun assertOutput( + resource: String, + cqlResult: Parameters, + type: ResourceType, + ) { + val outputs = + cqlResult.parameter.map { + it.name to + if (it.hasResource()) { + it.resource.encodeResourceToString() + } else it.valueToString() + } val expectedResource = resource.parseSampleResourceFromFile().convertToString(true) val cqlResultStr = - cqlResult - .find { it.startsWith("OUTPUT") && it.contains("\"resourceType\":\"$type\"") }!! + outputs + .find { + it.first.startsWith("OUTPUT") && it.second.contains("\"resourceType\":\"${type.name}") + }!! + .second .replaceTimePart() println(cqlResultStr) println(expectedResource as String) - Assert.assertTrue(cqlResultStr.contains("OUTPUT -> $expectedResource")) + Assert.assertEquals(expectedResource, cqlResultStr) } } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/HiltExtension.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/HiltExtension.kt index e5a567cc28..46ef047b06 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/HiltExtension.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/HiltExtension.kt @@ -67,7 +67,7 @@ inline fun launchFragmentInHiltContainer( fragment.viewLifecycleOwnerLiveData.observeForever { if (it != null) { navHostController?.let { controller -> - controller.setGraph(R.navigation.nav_graph) + controller.setGraph(org.smartregister.p2p.R.navigation.nav_graph) Navigation.setViewNavController(fragment.requireView(), controller) } } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/QuestApplicationTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/QuestApplicationTest.kt index 5c62d9d666..34616b0c35 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/QuestApplicationTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/QuestApplicationTest.kt @@ -46,7 +46,6 @@ class QuestApplicationTest : RobolectricTest() { application = QuestApplication() application.referenceUrlResolver = mockk() application.xFhirQueryResolver = mockk() - application.workerFactory = mockk() } @Test @@ -102,7 +101,6 @@ class QuestApplicationTest : RobolectricTest() { val intent = Intent(application, AppSettingActivity::class.java) application.startActivity(intent) - assertNotNull(application.workerFactory) assertNotNull(application.referenceUrlResolver) assertNotNull(application.xFhirQueryResolver) } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/StructureMapUtilitiesTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/StructureMapUtilitiesTest.kt index 46d6eec848..d6cfc4eb3b 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/StructureMapUtilitiesTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/StructureMapUtilitiesTest.kt @@ -33,7 +33,6 @@ import org.hl7.fhir.r4.model.QuestionnaireResponse import org.hl7.fhir.r4.model.RelatedPerson import org.hl7.fhir.r4.model.ResourceType import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager -import org.hl7.fhir.utilities.npm.ToolsVersion import org.junit.Assert import org.junit.Test import org.smartregister.fhircore.engine.util.helper.TransformSupportServices @@ -52,7 +51,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val registrationQuestionnaireResponseString: String = "content/general/family/questionnaire-response-standard.json".readFile() val registrationStructureMap = "content/general/family/family-registration.map".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -85,7 +84,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { "content/general/disease-registration-resources/questionnaire_response.json".readFile() val immunizationStructureMap = "content/general/disease-registration-resources/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -119,7 +118,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val immunizationJson = "content/eir/immunization/immunization-1.json".readFile() val immunizationStructureMap = "content/eir/immunization/structure-map.txt".readFile() val questionnaireJson = "content/eir/immunization/questionnaire.json".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -139,7 +138,14 @@ class StructureMapUtilitiesTest : RobolectricTest() { val questionnaireResponse: QuestionnaireResponse runBlocking { - questionnaireResponse = ResourceMapper.populate(questionnaire, patient, immunization) + questionnaireResponse = + ResourceMapper.populate( + questionnaire, + mapOf( + ResourceType.Patient.name.lowercase() to patient, + ResourceType.Immunization.name.lowercase() to immunization, + ), + ) } structureMapUtilities.transform(contextR4, questionnaireResponse, structureMap, targetResource) @@ -166,10 +172,17 @@ class StructureMapUtilitiesTest : RobolectricTest() { var questionnaireResponse: QuestionnaireResponse runBlocking { - questionnaireResponse = ResourceMapper.populate(questionnaire, patient, relatedPerson) + questionnaireResponse = + ResourceMapper.populate( + questionnaire, + mapOf( + ResourceType.Patient.name.lowercase() to patient, + ResourceType.RelatedPerson.name.lowercase() to relatedPerson, + ), + ) } - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -201,10 +214,17 @@ class StructureMapUtilitiesTest : RobolectricTest() { var questionnaireResponse: QuestionnaireResponse runBlocking { - questionnaireResponse = ResourceMapper.populate(questionnaire, immunization, Patient()) + questionnaireResponse = + ResourceMapper.populate( + questionnaire, + mapOf( + ResourceType.Immunization.name.lowercase() to immunization, + ResourceType.Patient.name.lowercase() to Patient(), + ), + ) } - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -228,7 +248,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { fun `convert StructureMap to JSON`() { val patientRegistrationStructureMap = "patient-registration-questionnaire/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { isCanRunWithoutTerminology = true } @@ -247,7 +267,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { "patient-registration-questionnaire/questionnaire-response.json".readFile() val patientRegistrationStructureMap = "patient-registration-questionnaire/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -278,7 +298,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val adverseEventQuestionnaireResponse = "content/eir/adverse-event/questionnaire-response.json".readFile() val adverseEventStructureMap = "content/eir/adverse-event/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -307,7 +327,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val vitalSignQuestionnaireResponse = "content/anc/vital-signs/metric/questionnaire-response-pulse-rate.json".readFile() val vitalSignStructureMap = "content/anc/vital-signs/metric/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -336,7 +356,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { "content/anc/vital-signs/standard/questionnaire-response-pulse-rate.json".readFile() val vitalSignStructureMap = "content/anc/vital-signs/standard/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -364,7 +384,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val locationQuestionnaireResponseString: String = "content/general/location/location-response-sample.json".readFile() val locationStructureMap = "content/general/location/location-structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -392,7 +412,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { "content/general/supply-chain/questionnaire-response-standard.json".readFile() val physicalInventoryCountStructureMap = "content/general/supply-chain/physical_inventory_count_and_stock.map".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -430,7 +450,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { val vitalSignQuestionnaireResponse = "content/anc/preg-outcome/questionnaire-response.json".readFile() val vitalSignStructureMap = "content/anc/preg-outcome/structure-map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { @@ -463,7 +483,7 @@ class StructureMapUtilitiesTest : RobolectricTest() { "content/general/who-eir/patient_registration_questionnaire_response.json".readFile() val locationStructureMap = "content/general/who-eir/patient_registration_structure_map.txt".readFile() - val packageCacheManager = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val packageCacheManager = FilesystemPackageCacheManager(true) val contextR4 = SimpleWorkerContext.fromPackage(packageCacheManager.loadPackage("hl7.fhir.r4.core", "4.0.1")) .apply { diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/app/ConfigurationRegistryTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/app/ConfigurationRegistryTest.kt index 0014fb7ab8..9f69f24ea3 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/app/ConfigurationRegistryTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/app/ConfigurationRegistryTest.kt @@ -21,6 +21,7 @@ import androidx.test.core.app.ApplicationProvider import com.google.android.fhir.FhirEngine import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest +import dagger.hilt.android.testing.HiltTestApplication import io.mockk.coEvery import io.mockk.coVerify import io.mockk.every @@ -28,6 +29,7 @@ import io.mockk.just import io.mockk.mockk import io.mockk.runs import io.mockk.spyk +import java.net.URL import javax.inject.Inject import kotlinx.coroutines.runBlocking import org.hl7.fhir.r4.model.Bundle @@ -39,8 +41,8 @@ import org.hl7.fhir.r4.model.StructureMap import org.junit.Before import org.junit.Rule import org.junit.Test +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry -import org.smartregister.fhircore.engine.configuration.app.ConfigService import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceDataSource import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceService import org.smartregister.fhircore.engine.util.DispatcherProvider @@ -58,7 +60,6 @@ class ConfigurationRegistryTest : RobolectricTest() { private lateinit var fhirEngine: FhirEngine private lateinit var sharedPreferencesHelper: SharedPreferencesHelper private val secureSharedPreference = mockk() - private val configService = mockk() private val application: Context = ApplicationProvider.getApplicationContext() private val fhirResourceService = mockk { coEvery { post(any(), any()) } returns Bundle() } @@ -80,13 +81,20 @@ class ConfigurationRegistryTest : RobolectricTest() { fhirResourceDataSource = fhirResourceDataSource, sharedPreferencesHelper = sharedPreferencesHelper, dispatcherProvider = dispatcherProvider, - configService = configService, + configService = mockk(), json = Faker.json, + context = ApplicationProvider.getApplicationContext(), + openSrpApplication = + object : OpenSrpApplication() { + override fun getFhirServerHost(): URL? { + return URL("http://my_test_fhirbase_url/fhir/") + } + }, ), ) configurationRegistry.setNonProxy(false) coEvery { configurationRegistry.addOrUpdate(any()) } just runs - coEvery { fhirEngine.createRemote(any()) } just runs + coEvery { fhirEngine.create(any(), isLocalOnly = true) } returns listOf() runBlocking { configurationRegistry.loadConfigurations("app/debug", application) } } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/app/fakes/Faker.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/app/fakes/Faker.kt index 05942faff0..994e88e0a0 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/app/fakes/Faker.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/app/fakes/Faker.kt @@ -19,11 +19,13 @@ package org.smartregister.fhircore.quest.app.fakes import android.app.Application import androidx.test.core.app.ApplicationProvider import com.google.gson.Gson +import dagger.hilt.android.testing.HiltTestApplication import io.mockk.coEvery import io.mockk.just import io.mockk.mockk import io.mockk.runs import io.mockk.spyk +import java.net.URL import java.util.Calendar import java.util.Date import kotlinx.coroutines.runBlocking @@ -34,6 +36,7 @@ import org.hl7.fhir.r4.model.DateType import org.hl7.fhir.r4.model.Enumerations import org.hl7.fhir.r4.model.Patient import org.hl7.fhir.r4.model.StringType +import org.smartregister.fhircore.engine.OpenSrpApplication import org.smartregister.fhircore.engine.auth.AuthCredentials import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry import org.smartregister.fhircore.engine.data.remote.fhir.resource.FhirResourceDataSource @@ -69,6 +72,13 @@ object Faker { dispatcherProvider = mockk(), configService = mockk(), json = json, + context = ApplicationProvider.getApplicationContext(), + openSrpApplication = + object : OpenSrpApplication() { + override fun getFhirServerHost(): URL? { + return URL("http://my_test_fhirbase_url/fhir/") + } + }, ), ) diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/data/report/measure/MeasureReportRepositoryTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/data/report/measure/MeasureReportRepositoryTest.kt index 3f0022ff38..daa5ea2963 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/data/report/measure/MeasureReportRepositoryTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/data/report/measure/MeasureReportRepositoryTest.kt @@ -18,9 +18,9 @@ package org.smartregister.fhircore.quest.data.report.measure import androidx.test.core.app.ApplicationProvider import ca.uhn.fhir.context.FhirContext -import ca.uhn.fhir.parser.IParser import com.google.android.fhir.FhirEngine import com.google.android.fhir.SearchResult +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest @@ -59,22 +59,25 @@ import org.smartregister.fhircore.quest.robolectric.RobolectricTest @HiltAndroidTest class MeasureReportRepositoryTest : RobolectricTest() { - private val configurationRegistry: ConfigurationRegistry = Faker.buildTestConfigurationRegistry() + @get:Rule(order = 0) val hiltAndroidRule = HiltAndroidRule(this) + + @Inject lateinit var dispatcherProvider: DispatcherProvider @Inject lateinit var fhirPathDataExtractor: FhirPathDataExtractor - @Inject lateinit var dispatcherProvider: DispatcherProvider + @Inject lateinit var fhirOperator: FhirOperator - @Inject lateinit var parser: IParser - private val fhirEngine: FhirEngine = mockk() + @Inject lateinit var knowledgeManager: KnowledgeManager - @get:Rule(order = 0) val hiltAndroidRule = HiltAndroidRule(this) + private val configurationRegistry: ConfigurationRegistry = Faker.buildTestConfigurationRegistry() + private val fhirEngine: FhirEngine = mockk() private lateinit var measureReportConfiguration: MeasureReportConfiguration private lateinit var measureReportRepository: MeasureReportRepository private val registerId = "register id" private lateinit var rulesFactory: RulesFactory private lateinit var resourceDataRulesExecutor: ResourceDataRulesExecutor private lateinit var registerRepository: RegisterRepository + private val parser = FhirContext.forR4Cached().newJsonParser() @Before @kotlinx.coroutines.ExperimentalCoroutinesApi @@ -118,7 +121,8 @@ class MeasureReportRepositoryTest : RobolectricTest() { mockk(), mockk(), registerRepository, - FhirOperator(FhirContext.forR4(), fhirEngine), + fhirOperator, + knowledgeManager, mockk(), parser, ) diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/robolectric/RobolectricTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/robolectric/RobolectricTest.kt index baba70c23d..2e3a93709a 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/robolectric/RobolectricTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/robolectric/RobolectricTest.kt @@ -42,7 +42,6 @@ import org.hl7.fhir.r4.model.Parameters import org.hl7.fhir.r4.model.QuestionnaireResponse import org.hl7.fhir.r4.utils.StructureMapUtilities import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager -import org.hl7.fhir.utilities.npm.ToolsVersion import org.junit.After import org.junit.AfterClass import org.junit.BeforeClass @@ -124,7 +123,7 @@ abstract class RobolectricTest { .replace(Regex("\\d{2}:\\d{2}:\\d{2}.\\d{3}.\\d{2}:\\d{2}"), "xx:xx:xx+xx:xx") fun buildStructureMapUtils(): StructureMapUtilities { - val pcm = FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION) + val pcm = FilesystemPackageCacheManager(true) // Package name manually checked from // https://simplifier.net/packages?Text=hl7.fhir.core&fhirVersion=All+FHIR+Versions val contextR4 = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1")) diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/CqlBuilder.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/CqlBuilder.kt new file mode 100644 index 0000000000..e193864813 --- /dev/null +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/CqlBuilder.kt @@ -0,0 +1,138 @@ +/* + * Copyright 2021-2024 Ona Systems, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.smartregister.fhircore.quest.sdk + +import ca.uhn.fhir.context.FhirContext +import java.io.InputStream +import org.cqframework.cql.cql2elm.CqlTranslator +import org.cqframework.cql.cql2elm.LibraryManager +import org.cqframework.cql.cql2elm.ModelManager +import org.cqframework.cql.cql2elm.quick.FhirLibrarySourceProvider +import org.hl7.fhir.r4.model.Attachment +import org.hl7.fhir.r4.model.Enumerations +import org.hl7.fhir.r4.model.Library +import org.junit.Assert.fail + +// Testing helper: Borrowed from the FHIR SDK repository package +// https://github.com/google/android-fhir/tree/master/workflow-testing/src/main/java/com/google/android/fhir/workflow/testing +// DO NOT Edit this file. Updates should be complete overwrites to reflects updates on SDK repo In +// future once the SDK team publishes the workflow-testing module this package will no longer be +// required + +object CqlBuilder : Loadable() { + private val jsonParser = FhirContext.forR4Cached().newJsonParser() + + /** + * Compiles a CQL Text to ELM + * + * @param cqlText the CQL Library + * @return a [CqlTranslator] object that contains the elm representation of the library inside it. + */ + fun compile(cqlText: String): CqlTranslator { + val modelManager = ModelManager() + val libraryManager = + LibraryManager(modelManager).apply { + librarySourceLoader.registerProvider(FhirLibrarySourceProvider()) + } + + val translator = CqlTranslator.fromText(cqlText, libraryManager) + + // Helper makes sure the test CQL compiles. Reports an error if it doesn't + if (translator.errors.isNotEmpty()) { + val errors = + translator.errors + .map { "${it.locator?.toLocator() ?: "[n/a]"}: ${it.message}" } + .joinToString("\n") + + fail("Could not compile CQL File. Errors:\n$errors") + } + + return translator + } + + /** + * Assembles an ELM Library exported as a JSON into a FHIRLibrary + * + * @param jsonElmStr the JSON representation of the ELM Library + * @param libName the Library name + * @param libVersion the Library Version + * @return a FHIR Library that includes the ELM Library. + */ + fun assembleFhirLib( + cqlStr: String?, + jsonElmStr: String?, + xmlElmStr: String?, + libName: String, + libVersion: String, + ): Library { + val attachmentCql = + cqlStr?.let { + Attachment().apply { + contentType = "text/cql" + data = it.toByteArray() + } + } + + val attachmentJson = + jsonElmStr?.let { + Attachment().apply { + contentType = "application/elm+json" + data = it.toByteArray() + } + } + + val attachmentXml = + xmlElmStr?.let { + Attachment().apply { + contentType = "application/elm+xml" + data = it.toByteArray() + } + } + + return Library().apply { + id = "$libName-$libVersion" + name = libName + version = libVersion + status = Enumerations.PublicationStatus.ACTIVE + experimental = true + url = "http://localhost/Library/$libName|$libVersion" + attachmentCql?.let { addContent(it) } + attachmentJson?.let { addContent(it) } + attachmentXml?.let { addContent(it) } + } + } + + /** + * Compiles a CQL Text into ELM and assembles a FHIR Library that includes a Base64 representation + * of the JSON representation of the compiled ELM Library + * + * @param cqlInputStream the CQL Library + * @return the assembled FHIR Library + */ + fun compileAndBuild(cqlInputStream: InputStream): Library { + val cqlText = load(cqlInputStream) + return compile(cqlText).let { + assembleFhirLib( + cqlText, + it.toJson(), + it.toXml(), + it.toELM().identifier.id, + it.toELM().identifier.version, + ) + } + } +} diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/Loadable.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/Loadable.kt new file mode 100644 index 0000000000..0e489f36f9 --- /dev/null +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/Loadable.kt @@ -0,0 +1,87 @@ +/* + * Copyright 2021-2024 Ona Systems, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.smartregister.fhircore.quest.sdk + +import java.io.InputStream + +// Testing helper: Borrowed from the FHIR SDK repository package +// https://github.com/google/android-fhir/tree/master/workflow-testing/src/main/java/com/google/android/fhir/workflow/testing +// DO NOT Edit this file. Updates should be complete overwrites to reflects updates on SDK repo +// In future once the SDK team publishes the workflow-testing module this package will no longer be +// required +open class Loadable { + fun resolveName(name: String): String? { + var name: String? = name + if (name == null) { + return name + } + if (!name.startsWith("/")) { + var c: Class<*> = javaClass + while (c.isArray) { + c = c.componentType + } + val baseName = c.name + val index = baseName.lastIndexOf('.') + if (index != -1) { + name = (baseName.substring(0, index).replace('.', '/') + "/" + name) + } + } else { + name = name.substring(1) + } + return name + } + + fun listFiles(assetName: String): List { + val name = resolveName(assetName)!! + + var list = javaClass.classLoader?.getResource(name) ?: ClassLoader.getSystemResource(name) + + val retList = mutableListOf() + if (list != null) { + // works on desktop + retList.addAll(load(list.openStream()).split("\n")) + } else { + // works on mobile + + // Little hack because android does not allow looping through Resources. + // TODO: Turn this into a task that generates .contents.txt automatically: ls > contents.txt + list = + javaClass.classLoader?.getResource("$name/contents.txt") + ?: ClassLoader.getSystemResource("$name/contents.txt") + retList.addAll(load(list.openStream()).split("\n")) + } + + return retList + } + + private fun open(assetName: String): InputStream { + return try { + javaClass.getResourceAsStream(assetName)!! + } catch (e: Exception) { + println("Can't find $assetName") + throw e + } + } + + fun load(asset: InputStream): String { + return asset.bufferedReader().use { bufferReader -> bufferReader.readText() } + } + + fun load(assetName: String): String { + return load(open(assetName)) + } +} diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/TestingUtil.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/TestingUtil.kt new file mode 100644 index 0000000000..7b58709d1b --- /dev/null +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/sdk/TestingUtil.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2021-2024 Ona Systems, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.smartregister.fhircore.quest.sdk + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking + +// Testing helper: Borrowed from the FHIR SDK repository package +// https://github.com/google/android-fhir/blob/master/workflow/src/test/java/com/google/android/fhir/workflow/TestingUtil.kt +// DO NOT Edit this file. Updates should be complete overwrites to reflects updates on SDK repo +// In future once the SDK team publishes the workflow-testing module this package will no longer be +// required + +internal fun runBlockingOnWorkerThread(block: suspend (CoroutineScope) -> T) = + runBlocking(Dispatchers.IO) { block(this) } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/login/LoginViewModelTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/login/LoginViewModelTest.kt index 93bc650f59..9c61a4ff8a 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/login/LoginViewModelTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/login/LoginViewModelTest.kt @@ -21,6 +21,7 @@ import androidx.work.WorkManager import androidx.work.WorkRequest import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest +import io.mockk.CapturingSlot import io.mockk.coEvery import io.mockk.every import io.mockk.just @@ -406,7 +407,9 @@ internal class LoginViewModelTest : RobolectricTest() { verify { fetchUserInfoCallback(capture(userInfoSlot)) } verify(exactly = 0) { fetchPractitionerCallback(any(), any()) } - Assert.assertTrue(userInfoSlot.captured.exceptionOrNull() is SocketTimeoutException) + Assert.assertTrue( + getCapturedUserInfoResult(userInfoSlot).exceptionOrNull() is SocketTimeoutException, + ) } @Test @@ -427,7 +430,9 @@ internal class LoginViewModelTest : RobolectricTest() { verify { fetchUserInfoCallback(capture(userInfoSlot)) } verify(exactly = 0) { fetchPractitionerCallback(any(), any()) } - Assert.assertTrue(userInfoSlot.captured.exceptionOrNull() is UnknownHostException) + Assert.assertTrue( + getCapturedUserInfoResult(userInfoSlot).exceptionOrNull() is UnknownHostException, + ) } @Test @@ -452,8 +457,11 @@ internal class LoginViewModelTest : RobolectricTest() { verify { fetchPractitionerCallback(capture(bundleSlot), any()) } Assert.assertTrue(userInfoSlot.captured.isSuccess) - Assert.assertEquals("awesome_uuid", userInfoSlot.captured.getOrThrow().keycloakUuid) - Assert.assertTrue(bundleSlot.captured.exceptionOrNull() is UnknownHostException) + Assert.assertEquals( + "awesome_uuid", + getCapturedUserInfoResult(userInfoSlot).getOrThrow().keycloakUuid, + ) + Assert.assertTrue(getCapturedBundleResult(bundleSlot).exceptionOrNull() is UnknownHostException) } @Test @@ -478,8 +486,13 @@ internal class LoginViewModelTest : RobolectricTest() { verify { fetchPractitionerCallback(capture(bundleSlot), any()) } Assert.assertTrue(userInfoSlot.captured.isSuccess) - Assert.assertEquals("awesome_uuid", userInfoSlot.captured.getOrThrow().keycloakUuid) - Assert.assertTrue(bundleSlot.captured.exceptionOrNull() is SocketTimeoutException) + Assert.assertEquals( + "awesome_uuid", + getCapturedUserInfoResult(userInfoSlot).getOrThrow().keycloakUuid, + ) + Assert.assertTrue( + getCapturedBundleResult(bundleSlot).exceptionOrNull() is SocketTimeoutException, + ) } private fun practitionerDetails(): PractitionerDetails { @@ -637,4 +650,16 @@ internal class LoginViewModelTest : RobolectricTest() { every { activity.isDeviceOnline() } returns isDeviceOnline return activity } + + private fun getCapturedBundleResult(bundleSlot: CapturingSlot>): Result { + val capturedResult = (bundleSlot.captured as Result).getOrNull() + return capturedResult as Result + } + + private fun getCapturedUserInfoResult( + bundleSlot: CapturingSlot>, + ): Result { + val capturedResult = (bundleSlot.captured as Result).getOrNull() + return capturedResult as Result + } } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainActivityTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainActivityTest.kt index 9bef38477c..5ed3f266d9 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainActivityTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainActivityTest.kt @@ -98,24 +98,6 @@ class AppMainActivityTest : ActivityRobolectricTest() { Assert.assertEquals(initialSyncTime, viewModel.appMainUiState.value.lastSyncTime) } - @Test - fun testOnSyncWithSyncStateGlitch() { - val viewModel = appMainActivity.appMainViewModel - val timestamp = "2022-05-19" - viewModel.sharedPreferencesHelper.write(SharedPreferenceKey.LAST_SYNC_TIMESTAMP.name, timestamp) - - val initialTimestamp = viewModel.appMainUiState.value.lastSyncTime - val syncJobStatus = SyncJobStatus.Glitch(exceptions = emptyList()) - - appMainActivity.onSync(syncJobStatus) - - // Timestamp last sync timestamp not updated - Assert.assertEquals( - initialTimestamp, - viewModel.appMainUiState.value.lastSyncTime, - ) - } - @Test fun testOnSyncWithSyncStateFailedDoesNotUpdateTimestamp() { val viewModel = appMainActivity.appMainViewModel @@ -139,13 +121,13 @@ class AppMainActivityTest : ActivityRobolectricTest() { } @Test - fun testOnSyncWithSyncStateFinished() { + fun testOnSyncWithSyncStateSucceded() { val viewModel = appMainActivity.appMainViewModel - val stateFinished = SyncJobStatus.Finished() - appMainActivity.onSync(stateFinished) + val stateSucceded = SyncJobStatus.Succeeded() + appMainActivity.onSync(stateSucceded) Assert.assertEquals( - viewModel.formatLastSyncTimestamp(timestamp = stateFinished.timestamp), + viewModel.formatLastSyncTimestamp(timestamp = stateSucceded.timestamp), viewModel.retrieveLastSyncTimestamp(), ) } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModelTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModelTest.kt index 7dad8a6efb..ffd0b708fa 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModelTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/main/AppMainViewModelTest.kt @@ -170,7 +170,7 @@ class AppMainViewModelTest : RobolectricTest() { fun testOnEventUpdateSyncStates() { // Simulate sync state Finished val syncFinishedTimestamp = OffsetDateTime.now() - val syncFinishedSyncJobStatus = mockk() + val syncFinishedSyncJobStatus = mockk() every { syncFinishedSyncJobStatus.timestamp } returns syncFinishedTimestamp appMainViewModel.onEvent( @@ -215,15 +215,13 @@ class AppMainViewModelTest : RobolectricTest() { @Test fun testOnEventTriggerWorkflow() { val action = - spyk( - listOf( - ActionConfig( - trigger = ActionTrigger.ON_CLICK, - workflow = ApplicationWorkflow.LAUNCH_SETTINGS.name, - ), + listOf( + ActionConfig( + trigger = ActionTrigger.ON_CLICK, + workflow = ApplicationWorkflow.LAUNCH_SETTINGS.name, ), ) - val navMenu = spyk(NavigationMenuConfig(id = "menuId", display = "Menu Item", actions = action)) + val navMenu = NavigationMenuConfig(id = "menuId", display = "Menu Item", actions = action) appMainViewModel.onEvent( AppMainEvent.TriggerWorkflow(navController = navController, navMenu = navMenu), ) diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/pin/PinViewModelTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/pin/PinViewModelTest.kt index d434354dbb..580dbe7cbd 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/pin/PinViewModelTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/pin/PinViewModelTest.kt @@ -42,7 +42,6 @@ import org.smartregister.fhircore.engine.util.SecureSharedPreference import org.smartregister.fhircore.engine.util.SharedPreferenceKey import org.smartregister.fhircore.engine.util.SharedPreferencesHelper import org.smartregister.fhircore.engine.util.passwordHashString -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.app.fakes.Faker import org.smartregister.fhircore.quest.robolectric.RobolectricTest @@ -76,7 +75,10 @@ class PinViewModelTest : RobolectricTest() { every { secureSharedPreference.retrieveSessionUsername() } returns "demo" pinViewModel.setPinUiState(true, context) val pinUiState = pinViewModel.pinUiState.value - Assert.assertEquals(context.getString(R.string.set_pin_message), pinUiState.message) + Assert.assertEquals( + context.getString(org.smartregister.fhircore.engine.R.string.set_pin_message), + pinUiState.message, + ) Assert.assertEquals(true, pinUiState.setupPin) Assert.assertTrue(pinUiState.setupPin) } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivityTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivityTest.kt index e3f06ab498..d62c52320b 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivityTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireActivityTest.kt @@ -24,7 +24,6 @@ import androidx.test.core.app.ApplicationProvider import com.google.android.fhir.FhirEngine import com.google.android.fhir.datacapture.QuestionnaireFragment import com.google.android.fhir.db.ResourceNotFoundException -import com.google.android.fhir.get import dagger.hilt.android.testing.BindValue import dagger.hilt.android.testing.HiltAndroidRule import dagger.hilt.android.testing.HiltAndroidTest @@ -86,12 +85,14 @@ class QuestionnaireActivityTest : RobolectricTest() { @Before fun setUp() { hiltRule.inject() + ApplicationProvider.getApplicationContext().apply { + setTheme(org.smartregister.fhircore.engine.R.style.AppTheme) + } defaultRepository = mockk(relaxUnitFun = true) { every { dispatcherProvider } returns testDispatcherProvider every { fhirEngine } returns spyk(this@QuestionnaireActivityTest.fhirEngine) } - ApplicationProvider.getApplicationContext().apply { setTheme(R.style.AppTheme) } questionnaireConfig = QuestionnaireConfig( id = "754", // Same as ID in sample_patient_registration.json diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModelTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModelTest.kt index 3a0ad580b7..4fc0e7c86c 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModelTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/questionnaire/QuestionnaireViewModelTest.kt @@ -23,6 +23,7 @@ import com.google.android.fhir.FhirEngine import com.google.android.fhir.datacapture.mapping.ResourceMapper import com.google.android.fhir.db.ResourceNotFoundException import com.google.android.fhir.get +import com.google.android.fhir.knowledge.KnowledgeManager import com.google.android.fhir.logicalId import com.google.android.fhir.workflow.FhirOperator import dagger.hilt.android.testing.HiltAndroidRule @@ -100,7 +101,6 @@ import org.smartregister.fhircore.quest.robolectric.RobolectricTest import org.smartregister.fhircore.quest.ui.questionnaire.QuestionnaireViewModel.Companion.CONTAINED_LIST_TITLE import org.smartregister.model.practitioner.FhirPractitionerDetails import org.smartregister.model.practitioner.PractitionerDetails -import timber.log.Timber @OptIn(ExperimentalCoroutinesApi::class) @HiltAndroidTest @@ -129,6 +129,7 @@ class QuestionnaireViewModelTest : RobolectricTest() { private val configurationRegistry = Faker.buildTestConfigurationRegistry() private val context: Application = ApplicationProvider.getApplicationContext() private val fhirOperator: FhirOperator = mockk() + private val knowledgeManager: KnowledgeManager = mockk() private val configRulesExecutor: ConfigRulesExecutor = mockk() private val patient = Faker.buildPatient().apply { @@ -181,13 +182,13 @@ class QuestionnaireViewModelTest : RobolectricTest() { spyk( QuestionnaireViewModel( defaultRepository = defaultRepository, - transformSupportServices = mockk(), dispatcherProvider = defaultRepository.dispatcherProvider, - sharedPreferencesHelper = sharedPreferencesHelper, fhirCarePlanGenerator = fhirCarePlanGenerator, resourceDataRulesExecutor = resourceDataRulesExecutor, - fhirPathDataExtractor = fhirPathDataExtractor, + transformSupportServices = mockk(), + sharedPreferencesHelper = sharedPreferencesHelper, fhirOperator = fhirOperator, + fhirPathDataExtractor = fhirPathDataExtractor, ), ) @@ -219,8 +220,7 @@ class QuestionnaireViewModelTest : RobolectricTest() { } val questionnaireResponse = extractionQuestionnaireResponse() val actionParameters = emptyList() - val onSuccessfulSubmission = - spyk({ idsTypes: List, _: QuestionnaireResponse -> Timber.i(idsTypes.toString()) }) + val onSuccessfulSubmission: (List, QuestionnaireResponse) -> Unit = spyk() // Throw ResourceNotFoundException existing QuestionnaireResponse coEvery { fhirEngine.get(ResourceType.Patient, patient.logicalId) } returns patient diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/register/RegisterFragmentTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/register/RegisterFragmentTest.kt index baaf3c31c5..0591eefddc 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/register/RegisterFragmentTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/register/RegisterFragmentTest.kt @@ -61,7 +61,6 @@ import org.smartregister.fhircore.engine.domain.model.ResourceData import org.smartregister.fhircore.engine.domain.model.SnackBarMessageConfig import org.smartregister.fhircore.engine.domain.model.ToolBarHomeNavigation import org.smartregister.fhircore.engine.util.DispatcherProvider -import org.smartregister.fhircore.quest.R import org.smartregister.fhircore.quest.app.fakes.Faker import org.smartregister.fhircore.quest.event.EventBus import org.smartregister.fhircore.quest.navigation.NavigationArg @@ -130,7 +129,9 @@ class RegisterFragmentTest : RobolectricTest() { activityController.create().resume() mainActivity = activityController.get() navController = - TestNavHostController(mainActivity).apply { setGraph(R.navigation.application_nav_graph) } + TestNavHostController(mainActivity).apply { + setGraph(org.smartregister.fhircore.quest.R.navigation.application_nav_graph) + } Navigation.setViewNavController(mainActivity.navHostFragment.requireView(), navController) mainActivity.supportFragmentManager.run { commitNow { add(registerFragment, RegisterFragment::class.java.simpleName) } @@ -148,7 +149,7 @@ class RegisterFragmentTest : RobolectricTest() { @Test fun testOnSyncState() { - val syncJobStatus = SyncJobStatus.Finished() + val syncJobStatus = SyncJobStatus.Succeeded() coEvery { registerFragmentMock.onSync(syncJobStatus) } just runs registerFragmentMock.onSync(syncJobStatus = syncJobStatus) verify { registerFragmentMock.onSync(syncJobStatus) } @@ -274,7 +275,11 @@ class RegisterFragmentTest : RobolectricTest() { val registerFragmentSpy = spyk(registerFragment) registerFragmentSpy.onSync(syncJobStatus = syncJobStatus) verify { registerFragmentSpy.onSync(syncJobStatus) } - verify { registerFragmentSpy.getString(R.string.sync_completed_with_errors) } + verify { + registerFragmentSpy.getString( + org.smartregister.fhircore.engine.R.string.sync_completed_with_errors, + ) + } } @Test @@ -286,7 +291,11 @@ class RegisterFragmentTest : RobolectricTest() { val registerFragmentSpy = spyk(registerFragment) registerFragmentSpy.onSync(syncJobStatus = syncJobStatus) verify { registerFragmentSpy.onSync(syncJobStatus) } - verify { registerFragmentSpy.getString(R.string.sync_completed_with_errors) } + verify { + registerFragmentSpy.getString( + org.smartregister.fhircore.engine.R.string.sync_completed_with_errors, + ) + } } @Test @@ -313,6 +322,8 @@ class RegisterFragmentTest : RobolectricTest() { val registerFragmentSpy = spyk(registerFragment) registerFragmentSpy.onSync(syncJobStatus = syncJobStatus) verify { registerFragmentSpy.onSync(syncJobStatus) } - verify { registerFragmentSpy.getString(R.string.sync_unauthorised) } + verify { + registerFragmentSpy.getString(org.smartregister.fhircore.engine.R.string.sync_unauthorised) + } } } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportViewModelTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportViewModelTest.kt index a0e926e723..5cb739577d 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportViewModelTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/ui/report/measure/MeasureReportViewModelTest.kt @@ -66,7 +66,6 @@ import org.junit.Assert import org.junit.Before import org.junit.Rule import org.junit.Test -import org.opencds.cqf.cql.evaluator.measure.common.MeasurePopulationType import org.smartregister.fhircore.engine.configuration.ConfigType import org.smartregister.fhircore.engine.configuration.Configuration import org.smartregister.fhircore.engine.configuration.ConfigurationRegistry @@ -78,6 +77,7 @@ import org.smartregister.fhircore.engine.data.local.register.RegisterRepository import org.smartregister.fhircore.engine.domain.model.ResourceData import org.smartregister.fhircore.engine.rulesengine.ResourceDataRulesExecutor import org.smartregister.fhircore.engine.util.SharedPreferencesHelper +import org.smartregister.fhircore.engine.util.extension.MeasurePopulationType import org.smartregister.fhircore.engine.util.extension.SDF_MMMM import org.smartregister.fhircore.engine.util.extension.SDF_YYYY import org.smartregister.fhircore.engine.util.extension.SDF_YYYY_MM_DD diff --git a/android/quest/src/test/resources/cql/control-test/cql.txt b/android/quest/src/test/resources/cql/control-test/cql.txt index 8d4af73686..a61b460cf2 100644 --- a/android/quest/src/test/resources/cql/control-test/cql.txt +++ b/android/quest/src/test/resources/cql/control-test/cql.txt @@ -20,9 +20,9 @@ code "deviceOperation": '15361003' from "SNOMED" display 'Device Operation' define "QR" : Last([QuestionnaireResponse] H) -define "Control1Obs": "QR".item.where(linkId='result_type').answer.value ~ "g6pdControl1" +define "Control1Obs": "QR".item.where(linkId='result_type').answer.value.first() ~ "g6pdControl1" -define "Control2Obs": "QR".item.where(linkId='result_type').answer.value ~ "g6pdControl2" +define "Control2Obs": "QR".item.where(linkId='result_type').answer.value.first() ~ "g6pdControl2" define "HaemoglobinObs": "QR".item.where(linkId='haemoglobin').answer.first().value @@ -72,7 +72,7 @@ define "Conclusion Details": '\nDetails:\n'+ "G6PD Conclusion" + '\n' + "Haemogl define "QRRef": ReplaceMatches('QuestionnaireResponse/'+"QR".id,'#','') define "Observation": Observation{ - focus: Reference { reference: string { value: "QRRef" } }, + focus: { Reference { reference: string { value: "QRRef" } } }, code: CreateConcept("deviceOperation"), effective: dateTime{ value: Now() }, value: CreateConcept("ConclusionCode") diff --git a/android/quest/src/test/resources/cql/control-test/library.json b/android/quest/src/test/resources/cql/control-test/library.json deleted file mode 100644 index fab6c9c243..0000000000 --- a/android/quest/src/test/resources/cql/control-test/library.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "resourceType": "Library", - "id": "32883", - "extension": [ { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "publishable" - }, { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "executable" - }, { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel", - "valueCode": "structured" - } ], - "version": "1", - "name": "G6PD-Control", - "title": "G6PD Control", - "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/library-type", - "code": "logic-library" - } ] - }, - "topic": [ { - "text": "G6PD" - }, { - "text": "CQL" - } ], - "relatedArtifact": [ { - "type": "depends-on", - "label": "FHIRHelpers|4.0.1", - "resource": "Library/1753" - } ], - "content": [ { - "contentType": "application/elm+json", - "data": "#library-elm.json" - } ] -} \ No newline at end of file diff --git a/android/quest/src/test/resources/cql/pq-medication/cql.txt b/android/quest/src/test/resources/cql/pq-medication/cql.txt index 93663abd13..d573ddd862 100644 --- a/android/quest/src/test/resources/cql/pq-medication/cql.txt +++ b/android/quest/src/test/resources/cql/pq-medication/cql.txt @@ -17,7 +17,7 @@ code "Pregnancy code": '77386006' from "SNOMED" display 'Pregnant' code "Underage code": '410599005' from "SNOMED" display 'Minor' code "G6PD code": '86859003' from "SNOMED" display 'G6PD Enzyme' -code "Haemoglobin code": '259695003' from "SNOMED" display 'Haemoglobin' +code "Haemoglobin code": '259695003' from "SNOMED" display 'Hemoglobin' code "active": 'active' from "ConditionClinicalStatusCodes" code "g6pdStatusCode": '9024005' from "SNOMED" display 'G6PD Status' @@ -128,7 +128,7 @@ define "medicationRequest": MedicationRequest { medication: "medication", doNotPerform: "medicationNotPrescribed", reasonCode: { CreateConcept("medicationReasonCode") }, - dosageInstruction: { "dosage" } + dosageInstruction: if "dosage" is null then null else { "dosage" } } // output to save or display by the engine or parser diff --git a/android/quest/src/test/resources/cql/pq-medication/library.json b/android/quest/src/test/resources/cql/pq-medication/library.json deleted file mode 100644 index 6ea7884560..0000000000 --- a/android/quest/src/test/resources/cql/pq-medication/library.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "resourceType": "Library", - "id": "46823", - "extension": [ { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "publishable" - }, { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "executable" - }, { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel", - "valueCode": "structured" - } ], - "version": "1", - "name": "G6PD-PQ-Medication", - "title": "G6PD PQ Medication", - "status": "active", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/library-type", - "code": "logic-library" - } ] - }, - "topic": [ { - "text": "G6PD" - }, { - "text": "CQL" - } ], - "relatedArtifact": [ { - "type": "depends-on", - "label": "FHIRHelpers|4.0.1", - "resource": "Library/1753" - } ], - "dataRequirement": { - "type": "Condition", - "subject": "Patient", - "codeFilter": { - "path": "code", - "code": { - "system": "http://snomed.info/sct", - "code": "77386006", - "display": "Pregnant" - } - } - }, - "content": [ { - "contentType": "application/elm+json", - "data": "#library-elm.json" - } ] -} \ No newline at end of file diff --git a/android/quest/src/test/resources/cql/test-results/cql.txt b/android/quest/src/test/resources/cql/test-results/cql.txt index bb93f096b1..8c1abc7725 100644 --- a/android/quest/src/test/resources/cql/test-results/cql.txt +++ b/android/quest/src/test/resources/cql/test-results/cql.txt @@ -50,8 +50,6 @@ define "is Pregnant": where O.clinicalStatus ~ "active" sort by recordedDate) is not null -define "OOOOBS": Observation - define "Registerd Haem": Last([Observation: "Haemoglobin code"] H) diff --git a/android/quest/src/test/resources/cql/test-results/library.json b/android/quest/src/test/resources/cql/test-results/library.json deleted file mode 100644 index 0cc4a8db5b..0000000000 --- a/android/quest/src/test/resources/cql/test-results/library.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "resourceType": "Library", - "id": "46831", - "extension": [ - { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "publishable" - }, - { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability", - "valueCode": "executable" - }, - { - "url": "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel", - "valueCode": "structured" - } - ], - "version": "1", - "name": "G6PD-Test-Results", - "title": "G6PD Test Results", - "status": "active", - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/library-type", - "code": "logic-library" - } - ] - }, - "topic": [ - { - "text": "G6PD" - }, - { - "text": "CQL" - } - ], - "relatedArtifact": [ - { - "type": "depends-on", - "label": "FHIRHelpers|4.0.1", - "resource": "Library/1753" - } - ], - "dataRequirement": [ - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "code": [ - { - "system": "http://snomed.info/sct", - "code": "77386006", - "display": "Pregnant" - } - ] - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+json", - "data": "#library-elm.json" - } - ] -} \ No newline at end of file diff --git a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_g6pd.json b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_g6pd.json index ba84707ab0..e1702c8d42 100644 --- a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_g6pd.json +++ b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_g6pd.json @@ -1,6 +1,5 @@ { "resourceType": "Observation", - "id": "#UID", "status": "final", "category": [ { diff --git a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_hb.json b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_hb.json index 6fc5353324..efbf9260aa 100644 --- a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_hb.json +++ b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_hb.json @@ -1,6 +1,5 @@ { "resourceType": "Observation", - "id": "#UID", "status": "final", "category": [ { diff --git a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_res_type.json b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_res_type.json index a0e4958399..bc811eb406 100644 --- a/android/quest/src/test/resources/test-results-questionnaire/sample/obs_res_type.json +++ b/android/quest/src/test/resources/test-results-questionnaire/sample/obs_res_type.json @@ -1,6 +1,5 @@ { "resourceType": "Observation", - "id": "#TEST_ID", "status": "final", "category": [ { diff --git a/android/quest/src/test/resources/test-results-questionnaire/sample/patient.json b/android/quest/src/test/resources/test-results-questionnaire/sample/patient.json new file mode 100644 index 0000000000..4663368251 --- /dev/null +++ b/android/quest/src/test/resources/test-results-questionnaire/sample/patient.json @@ -0,0 +1,58 @@ +{ + "resourceType": "Patient", + "id": "Patient/TEST_PATIENT", + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "valueCoding": { + "code": "black", + "display": "Black" + } + }, + { + "url": "http://hl7.org.nz/fhir/StructureDefinition/current-occupation", + "valueCoding": { + "code": "employed", + "display": "Employed" + } + } + ], + "identifier": [ + { + "value": "3456" + } + ], + "active": true, + "name": [ + { + "family": "Hadi", + "given": [ + "Bareera" + ] + } + ], + "telecom": [ + { + "system": "phone", + "value": "4688755" + } + ], + "gender": "female", + "birthDate": "1998-12-14", + "address": [ + { + "use": "home", + "type": "physical", + "city": "NAIROBI", + "country": "Kenya" + } + ], + "maritalStatus": { + "coding": [ + { + "code": "married", + "display": "Married" + } + ] + } +} \ No newline at end of file