From 3d089041ec739526f50742111f317dbaf91e5fc0 Mon Sep 17 00:00:00 2001 From: Marco Eidinger Date: Mon, 15 Jun 2026 09:42:28 -0700 Subject: [PATCH] chore: remove self-hosted package collection generation The package collection feature has not been working for a long time. Users should now use the Swift Package Index collection instead at https://swiftpackageindex.com/SAP/collection.json Changes: - Remove GitHub Actions workflow for generating signed collection - Delete packages.json and collection-signed.json files - Update README to point to Swift Package Index collection URL --- .github/workflows/spm-collection.yml | 73 ---------------------------- README.md | 4 +- collection-signed.json | 1 - packages.json | 21 -------- 4 files changed, 2 insertions(+), 97 deletions(-) delete mode 100644 .github/workflows/spm-collection.yml delete mode 100644 collection-signed.json delete mode 100644 packages.json diff --git a/.github/workflows/spm-collection.yml b/.github/workflows/spm-collection.yml deleted file mode 100644 index ddf7e99..0000000 --- a/.github/workflows/spm-collection.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Swift Package Collection - -on: - push: - paths: - - "packages.json" - workflow_dispatch: - inputs: - commitChanges: - description: "Commit Changes" - required: true - default: "true" - -permissions: - contents: write - pull-requests: write - -jobs: - generate-signed-collection: - runs-on: macos-12 - - steps: - - uses: actions/checkout@v3 - - name: Create .netrc file with credentials to download binaries from SAP RSBC - uses: little-core-labs/netrc-creds@master - with: - machine: rbsc.repositories.cloud.sap - login: 0000202418-iossdk - password: ${{ secrets.RSBC_USER_BASICAUTH_PWD }} - - name: Cache tools - id: cache-tools - uses: actions/cache@v2 - with: - path: bin - key: ${{ runner.os }}-tools - - name: Build tools - if: steps.cache-tools.outputs.cache-hit != 'true' - run: | - git clone https://github.com/apple/swift-package-collection-generator.git - cd swift-package-collection-generator - git checkout 5.7 - swift build -c release - [ -d "../bin" ] || mkdir ../bin - cp .build/release/package-collection-generate ../bin/ - cp .build/release/package-collection-sign ../bin/ - ../bin/package-collection-generate -help - - name: Generate unsigned collection.json - run: | - bin/package-collection-generate packages.json collection.json -v --auth-token github:github.com:${{ secrets.PAT }} - cat collection.json - - name: Create certificates files - env: - CERTIFICATE_CONTENT_B64: ${{ secrets.CERTIFICATE_CONTENT_B64 }} - PRIVATE_KEY_CONTENT: ${{ secrets.PRIVATE_KEY_CONTENT }} - run: | - echo "$CERTIFICATE_CONTENT_B64" | base64 --decode > spm_collection.cer - echo "$PRIVATE_KEY_CONTENT" > spm_collection.pem - - name: Generate signed collection.json - run: | - bin/package-collection-sign collection.json collection-signed.json spm_collection.pem spm_collection.cer - cat collection-signed.json - - name: Create pull request to commit signed collection file - if: github.event_name == 'push' || github.event.inputs.commitChanges == 'true' - uses: peter-evans/create-pull-request@v5 - with: - add-paths: | - collection-signed.json - commit-message: 'chore: auto create/update collection-signed.json' - base: main - branch: updatePackageCollection - delete-branch: true - title: 'Automatically create/update collection-signed.json' - body: '' diff --git a/README.md b/README.md index bd6505d..782b119 100644 --- a/README.md +++ b/README.md @@ -114,8 +114,8 @@ If you wish to make a contribution to the repository, please adhere to SAPs [con 6. Make sure that the newly computed checksums are all different. If some checksums are the same it is an indicator for a failed download (e.g. file not present for this version) 7. Commit your changes and file a pull request -## Using Package Collection in Xcode 13 +## Using Package Collection -In Xcode, choose File, then Add Packages... . Click the + > button, choose Add Swift Package Collection, paste [this URL](https://raw.githubusercontent.com/SAP/cloud-sdk-ios/main/collection-signed.json) and click Load. +In Xcode, choose File, then Add Packages... . Click the + > button, choose Add Swift Package Collection, paste [this URL](https://swiftpackageindex.com/SAP/collection.json) and click Load. You can now add packages from our collection to your project by selecting one and clicking Add Package. diff --git a/collection-signed.json b/collection-signed.json deleted file mode 100644 index 3769f8e..0000000 --- a/collection-signed.json +++ /dev/null @@ -1 +0,0 @@ -{"formatVersion":"1.0","generatedAt":"2024-03-08T09:51:39Z","generatedBy":{"name":"SAP"},"name":"SAP BTP SDK for iOS Swift Packages","overview":"Swift Packages provided by the SAP BTP SDK for iOS","packages":[{"keywords":[],"license":{"name":"Apache-2.0","url":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios/main/README.md","summary":"Get the binary frameworks of the SAP BTP SDK for iOS through SPM and learn about related open-source Swift packages","url":"https://github.com/SAP/cloud-sdk-ios.git","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"}],"packageName":"cloud-sdk-ios","products":[{"name":"SAPCommon","targets":["SAPCommon"],"type":{"library":["automatic"]}},{"name":"SAPFiori","targets":["SAPFiori"],"type":{"library":["automatic"]}},{"name":"SAPFioriFlows","targets":["SAPFioriFlows"],"type":{"library":["automatic"]}},{"name":"SAPFoundation","targets":["SAPFoundation"],"type":{"library":["automatic"]}},{"name":"SAPML","targets":["SAPML"],"type":{"library":["automatic"]}},{"name":"SAPOData","targets":["SAPOData"],"type":{"library":["automatic"]}},{"name":"SAPOfflineOData","targets":["SAPOfflineOData"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCommon","name":"SAPCommon"},{"moduleName":"SAPFiori","name":"SAPFiori"},{"moduleName":"SAPFioriFlows","name":"SAPFioriFlows"},{"moduleName":"SAPFoundation","name":"SAPFoundation"},{"moduleName":"SAPML","name":"SAPML"},{"moduleName":"SAPOData","name":"SAPOData"},{"moduleName":"SAPOfflineOData","name":"SAPOfflineOData"}],"toolsVersion":"5.5"}},"version":"9.2.7"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"}],"packageName":"cloud-sdk-ios","products":[{"name":"SAPCommon","targets":["SAPCommon"],"type":{"library":["automatic"]}},{"name":"SAPFiori","targets":["SAPFiori"],"type":{"library":["automatic"]}},{"name":"SAPFioriFlows","targets":["SAPFioriFlows"],"type":{"library":["automatic"]}},{"name":"SAPFoundation","targets":["SAPFoundation"],"type":{"library":["automatic"]}},{"name":"SAPML","targets":["SAPML"],"type":{"library":["automatic"]}},{"name":"SAPOData","targets":["SAPOData"],"type":{"library":["automatic"]}},{"name":"SAPOfflineOData","targets":["SAPOfflineOData"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCommon","name":"SAPCommon"},{"moduleName":"SAPFiori","name":"SAPFiori"},{"moduleName":"SAPFioriFlows","name":"SAPFioriFlows"},{"moduleName":"SAPFoundation","name":"SAPFoundation"},{"moduleName":"SAPML","name":"SAPML"},{"moduleName":"SAPOData","name":"SAPOData"},{"moduleName":"SAPOfflineOData","name":"SAPOfflineOData"}],"toolsVersion":"5.5"}},"version":"9.2.6"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"}],"packageName":"cloud-sdk-ios","products":[{"name":"SAPCommon","targets":["SAPCommon"],"type":{"library":["automatic"]}},{"name":"SAPFiori","targets":["SAPFiori"],"type":{"library":["automatic"]}},{"name":"SAPFioriFlows","targets":["SAPFioriFlows"],"type":{"library":["automatic"]}},{"name":"SAPFoundation","targets":["SAPFoundation"],"type":{"library":["automatic"]}},{"name":"SAPML","targets":["SAPML"],"type":{"library":["automatic"]}},{"name":"SAPOData","targets":["SAPOData"],"type":{"library":["automatic"]}},{"name":"SAPOfflineOData","targets":["SAPOfflineOData"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCommon","name":"SAPCommon"},{"moduleName":"SAPFiori","name":"SAPFiori"},{"moduleName":"SAPFioriFlows","name":"SAPFioriFlows"},{"moduleName":"SAPFoundation","name":"SAPFoundation"},{"moduleName":"SAPML","name":"SAPML"},{"moduleName":"SAPOData","name":"SAPOData"},{"moduleName":"SAPOfflineOData","name":"SAPOfflineOData"}],"toolsVersion":"5.5"}},"version":"9.2.5"}]},{"keywords":["fiori","open-source","sap","swift","swiftui"],"license":{"name":"Apache-2.0","url":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-fiori/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-fiori/main/README.md","summary":"SwiftUI implementation of the SAP Fiori for iOS Design Language.","url":"https://github.com/SAP/cloud-sdk-ios-fiori.git","versions":[{"defaultToolsVersion":"5.7","manifests":{"5.7":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"},{"name":"watchos","version":"7.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}},{"name":"FioriThemeManager","targets":["FioriThemeManager"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"},{"moduleName":"FioriThemeManager","name":"FioriThemeManager"}],"toolsVersion":"5.7"}},"version":"3.3.0"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"},{"name":"watchos","version":"7.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}},{"name":"FioriThemeManager","targets":["FioriThemeManager"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"},{"moduleName":"FioriThemeManager","name":"FioriThemeManager"}],"toolsVersion":"5.5"}},"summary":"chore(release): 3.2.0","version":"3.2.0"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"},{"name":"watchos","version":"7.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}},{"name":"FioriThemeManager","targets":["FioriThemeManager"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"},{"moduleName":"FioriThemeManager","name":"FioriThemeManager"}],"toolsVersion":"5.5"}},"summary":"chore(release): 3.1.1","version":"3.1.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriIntegrationCards","targets":["FioriIntegrationCards"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}},{"name":"FioriThemeManager","targets":["FioriThemeManager"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriIntegrationCards","name":"FioriIntegrationCards"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"},{"moduleName":"FioriThemeManager","name":"FioriThemeManager"}],"toolsVersion":"5.3"}},"version":"2.2.0"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriIntegrationCards","targets":["FioriIntegrationCards"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriIntegrationCards","name":"FioriIntegrationCards"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"}],"toolsVersion":"5.3"}},"summary":"chore(release): 2.1.0","version":"2.1.0"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"FioriSwiftUI","products":[{"name":"FioriCharts","targets":["FioriCharts"],"type":{"library":["dynamic"]}},{"name":"FioriIntegrationCards","targets":["FioriIntegrationCards"],"type":{"library":["dynamic"]}},{"name":"FioriSwiftUI","targets":["FioriSwiftUI"],"type":{"library":["dynamic"]}}],"targets":[{"moduleName":"FioriCharts","name":"FioriCharts"},{"moduleName":"FioriIntegrationCards","name":"FioriIntegrationCards"},{"moduleName":"FioriSwiftUI","name":"FioriSwiftUI"}],"toolsVersion":"5.3"}},"summary":"chore(release): 2.0.1","version":"2.0.1"}]},{"keywords":["arkit","opensource","realitycomposer","realitykit","swift","swiftui"],"license":{"name":"Apache-2.0","url":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-fiori-ar/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-fiori-ar/main/README.md","summary":"SAP Fiori for iOS AR","url":"https://github.com/SAP/cloud-sdk-ios-fiori-ar.git","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"}],"packageName":"FioriAR","products":[{"name":"FioriAR","targets":["FioriAR-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"FioriAR-requiresToEmbedXCFrameworks","targets":["FioriAR-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"FioriAR_withBinaryDependencies","name":"FioriAR-withBinaryDependencies"},{"moduleName":"FioriAR_withoutBinaryDependencies","name":"FioriAR-withoutBinaryDependencies"}],"toolsVersion":"5.5"}},"version":"3.0.1"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"15.0"}],"packageName":"FioriAR","products":[{"name":"FioriAR","targets":["FioriAR-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"FioriAR-requiresToEmbedXCFrameworks","targets":["FioriAR-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"FioriAR_withBinaryDependencies","name":"FioriAR-withBinaryDependencies"},{"moduleName":"FioriAR_withoutBinaryDependencies","name":"FioriAR-withoutBinaryDependencies"}],"toolsVersion":"5.5"}},"version":"3.0.0"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"FioriAR","products":[{"name":"FioriAR","targets":["FioriAR-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"FioriAR-requiresToEmbedXCFrameworks","targets":["FioriAR-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"FioriAR_withBinaryDependencies","name":"FioriAR-withBinaryDependencies"},{"moduleName":"FioriAR_withoutBinaryDependencies","name":"FioriAR-withoutBinaryDependencies"}],"toolsVersion":"5.5"}},"version":"2.0.0"}]},{"keywords":["cai","chatbot","open-source","sap","swift","swiftui"],"license":{"name":"Apache-2.0","url":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-cai/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/SAP/cloud-sdk-ios-cai/main/README.md","summary":"Swift package as module for interfacing with SAP Conversational AI in native iOS apps. ","url":"https://github.com/SAP/cloud-sdk-ios-cai.git","versions":[{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"2.0.2"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"2.0.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"14.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"2.0.0"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"13.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"1.0.5"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"13.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"1.0.4"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"ios","version":"13.0"}],"packageName":"SAPCAI","products":[{"name":"SAPCAI","targets":["SAPCAI-withBinaryDependencies"],"type":{"library":["automatic"]}},{"name":"SAPCAI-requiresToEmbedXCFrameworks","targets":["SAPCAI-withoutBinaryDependencies"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SAPCAI_withBinaryDependencies","name":"SAPCAI-withBinaryDependencies"},{"moduleName":"SAPCAI_withoutBinaryDependencies","name":"SAPCAI-withoutBinaryDependencies"}],"toolsVersion":"5.3"}},"version":"1.0.3"}]}],"signature":{"certificate":{"issuer":{"commonName":"Apple Worldwide Developer Relations Certification Authority","organization":"Apple Inc.","organizationalUnit":"G3"},"subject":{"commonName":"Swift Package Collection: SAP SE","organization":"SAP SE","organizationalUnit":"4FE7U4H495","userID":"4FE7U4H495"}},"signature":"ewogICJhbGciIDogIlJTMjU2IiwKICAieDVjIiA6IFsKICAgICJNSUlGYkRDQ0JGU2dBd0lCQWdJUVlyMHZhZlJ1VzNyTVZSdW5JYnM5eHpBTkJna3Foa2lHOXcwQkFRc0ZBREIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpNeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUI0WERUSXpNRE16TURFNE1UUXlORm9YRFRJME1ETXlPVEU0TVRReU0xb3dlakVhTUJnR0NnbVNKb21UOGl4a0FRRU1DalJHUlRkVk5FZzBPVFV4S1RBbkJnTlZCQU1NSUZOM2FXWjBJRkJoWTJ0aFoyVWdRMjlzYkdWamRHbHZiam9nVTBGUUlGTkZNUk13RVFZRFZRUUxEQW8wUmtVM1ZUUklORGsxTVE4d0RRWURWUVFLREFaVFFWQWdVMFV4Q3pBSkJnTlZCQVlUQWxWVE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMFBBVlhjTlRYQXZzZVY5SHJOOEhwdTJaR1lFS1FRZXkvNE5SZDVxOEovS2VtQ3pTcFh5L0x0WWt0QTVsQTZ0anBmc1NEejJoT3cxcEtBMytlTTkrN0QvaGxwaHVoeGF2b2VCTWl0N1U1aWpVcGRNTzFyRUV4a3h6eXg1T3dIblpQVUpjSnoxL05jYmJKbktRSUxtanExa3dDQzRpVGhIa1daZEVmZVpBV0QzNm5KWXBEaXo1cXJ6WVQwUjlHazExeis2Wng1SnpQaVVpV0tZRzlkdmFBOHFPeHVoa2x0MkowWWdkdGd5eHBtZ1BIRlZyZEg5NDhiNkN1dEIwYzZRQlZtVlpWSU9QVjI2Q096R0VyY25Fd3hHTjZSZ0pYVnhnc25oTHlKN3hDUzUzSWtyZC84Y2NnMHBDNDIzTk14cUU0SjBWeDh4NUJ4NS9rT2Rvd1V6R3N3SURBUUFCbzRJQjhUQ0NBZTB3REFZRFZSMFRBUUgvQkFJd0FEQWZCZ05WSFNNRUdEQVdnQlFKL3NBVmtQbXZaQXFTRXJrbUtHTU1sK3luc2pCQkJnZ3JCZ0VGQlFjQkFRUTFNRE13TVFZSUt3WUJCUVVITUFHR0pXaDBkSEE2THk5dlkzTndMbUZ3Y0d4bExtTnZiUzl2WTNOd01ETXRkM2RrY21jek1Ua3dnZ0VlQmdOVkhTQUVnZ0VWTUlJQkVUQ0NBUTBHQ1NxR1NJYjNZMlFGQVRDQi96Q0J3d1lJS3dZQkJRVUhBZ0l3Z2JZTWdiTlNaV3hwWVc1alpTQnZiaUIwYUdseklHTmxjblJwWm1sallYUmxJR0o1SUdGdWVTQndZWEowZVNCaGMzTjFiV1Z6SUdGalkyVndkR0Z1WTJVZ2IyWWdkR2hsSUhSb1pXNGdZWEJ3YkdsallXSnNaU0J6ZEdGdVpHRnlaQ0IwWlhKdGN5QmhibVFnWTI5dVpHbDBhVzl1Y3lCdlppQjFjMlVzSUdObGNuUnBabWxqWVhSbElIQnZiR2xqZVNCaGJtUWdZMlZ5ZEdsbWFXTmhkR2x2YmlCd2NtRmpkR2xqWlNCemRHRjBaVzFsYm5SekxqQTNCZ2dyQmdFRkJRY0NBUllyYUhSMGNITTZMeTkzZDNjdVlYQndiR1V1WTI5dEwyTmxjblJwWm1sallYUmxZWFYwYUc5eWFYUjVMekFXQmdOVkhTVUJBZjhFRERBS0JnZ3JCZ0VGQlFjREF6QWRCZ05WSFE0RUZnUVU4bW9rUWkxeHdVdVZNTm1uMW5qYjY0ZHVZTTR3RGdZRFZSMFBBUUgvQkFRREFnZUFNQkFHQ2lxR1NJYjNZMlFHQVNNRUFnVUFNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFubFp6V3ZxcW1adHMvUGpRdmpOR0J1QUo2VVA4RGNEYXBzK3hvWENRMGkvNmFtQThRMDROakZUZXhrd0ZzV3NrVGhXQXVKNkhydDloWFFMUWF1WmxpSEVzMzFLb2crVlRua0VoQW1VTDJCSE1lODdWTGxaMStLQkRVcVh1SmRtZ21wQzlUREw1VHlCcjlqR1I4ZjJ3T1ZjQlh5VTg5VWtxcWF0Q2xHUWJyTUw5RUtZN2gyVmVqUUIvZzluMDArbkp0SlNraE1CeVRvVVNoSG1jMFFQdnhvMHdERnFvbzgwWTcrS1VSa0RBKytTOElWZnZnMXl4d1pmcUZUeHVKRTFCbG5rbGRkYVZHV0tpdGhhVllkd1NXMXZVOE5kYndqeG81eXNrdTZ3VHJHeVBFUjdRVHFMQjJKcUZBcjZTQ25uWnUxaTM2YlRIVTVZd05aQWNrRkhlaCIKICBdCn0.ewogICJmb3JtYXRWZXJzaW9uIiA6ICIxLjAiLAogICJnZW5lcmF0ZWRBdCIgOiAiMjAyNC0wMy0wOFQwOTo1MTozOVoiLAogICJnZW5lcmF0ZWRCeSIgOiB7CiAgICAibmFtZSIgOiAiU0FQIgogIH0sCiAgIm5hbWUiIDogIlNBUCBCVFAgU0RLIGZvciBpT1MgU3dpZnQgUGFja2FnZXMiLAogICJvdmVydmlldyIgOiAiU3dpZnQgUGFja2FnZXMgcHJvdmlkZWQgYnkgdGhlIFNBUCBCVFAgU0RLIGZvciBpT1MiLAogICJwYWNrYWdlcyIgOiBbCiAgICB7CiAgICAgICJrZXl3b3JkcyIgOiBbCgogICAgICBdLAogICAgICAibGljZW5zZSIgOiB7CiAgICAgICAgIm5hbWUiIDogIkFwYWNoZS0yLjAiLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9TQVAvY2xvdWQtc2RrLWlvcy9tYWluL0xJQ0VOU0UiCiAgICAgIH0sCiAgICAgICJyZWFkbWVVUkwiIDogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9TQVAvY2xvdWQtc2RrLWlvcy9tYWluL1JFQURNRS5tZCIsCiAgICAgICJzdW1tYXJ5IiA6ICJHZXQgdGhlIGJpbmFyeSBmcmFtZXdvcmtzIG9mIHRoZSBTQVAgQlRQIFNESyBmb3IgaU9TIHRocm91Z2ggU1BNIGFuZCBsZWFybiBhYm91dCByZWxhdGVkIG9wZW4tc291cmNlIFN3aWZ0IHBhY2thZ2VzIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL1NBUC9jbG91ZC1zZGstaW9zLmdpdCIsCiAgICAgICJ2ZXJzaW9ucyIgOiBbCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxNS4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJjbG91ZC1zZGstaW9zIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUEZpb3JpIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBGaW9yaSIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRmlvcmlGbG93cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQTUwiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUE1MIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT0RhdGEiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUE9mZmxpbmVPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmkiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBGaW9yaUZsb3dzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUEZvdW5kYXRpb24iLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBNTCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBNTCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPZmZsaW5lT0RhdGEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjkuMi43IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxNS4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJjbG91ZC1zZGstaW9zIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUEZpb3JpIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBGaW9yaSIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRmlvcmlGbG93cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQTUwiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUE1MIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT0RhdGEiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUE9mZmxpbmVPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmkiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBGaW9yaUZsb3dzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUEZvdW5kYXRpb24iLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBNTCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBNTCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPZmZsaW5lT0RhdGEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjkuMi42IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxNS4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJjbG91ZC1zZGstaW9zIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUEZpb3JpIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBGaW9yaSIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRmlvcmlGbG93cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQTUwiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUE1MIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT0RhdGEiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUE9mZmxpbmVPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDb21tb24iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRmlvcmkiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQRmlvcmlGbG93cyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBGaW9yaUZsb3dzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUEZvdW5kYXRpb24iLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQRm91bmRhdGlvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBNTCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBNTCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPRGF0YSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBPRGF0YSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBPZmZsaW5lT0RhdGEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQT2ZmbGluZU9EYXRhIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjkuMi41IgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImtleXdvcmRzIiA6IFsKICAgICAgICAiZmlvcmkiLAogICAgICAgICJvcGVuLXNvdXJjZSIsCiAgICAgICAgInNhcCIsCiAgICAgICAgInN3aWZ0IiwKICAgICAgICAic3dpZnR1aSIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJBcGFjaGUtMi4wIiwKICAgICAgICAidXJsIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vU0FQL2Nsb3VkLXNkay1pb3MtZmlvcmkvbWFpbi9MSUNFTlNFIgogICAgICB9LAogICAgICAicmVhZG1lVVJMIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vU0FQL2Nsb3VkLXNkay1pb3MtZmlvcmkvbWFpbi9SRUFETUUubWQiLAogICAgICAic3VtbWFyeSIgOiAiU3dpZnRVSSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU0FQIEZpb3JpIGZvciBpT1MgRGVzaWduIExhbmd1YWdlLiIsCiAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS9TQVAvY2xvdWQtc2RrLWlvcy1maW9yaS5naXQiLAogICAgICAidmVyc2lvbnMiIDogWwogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjciLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjciIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTUuMCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ3YXRjaG9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjcuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlDaGFydHMiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpQ2hhcnRzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaVN3aWZ0VUkiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaVRoZW1lTWFuYWdlciIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlUaGVtZU1hbmFnZXIiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaVN3aWZ0VUkiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlUaGVtZU1hbmFnZXIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlUaGVtZU1hbmFnZXIiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMy4zLjAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS41IiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS41IiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE1LjAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAid2F0Y2hvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI3LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJkeW5hbWljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlTd2lmdFVJIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlUaGVtZU1hbmFnZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpVGhlbWVNYW5hZ2VyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaUNoYXJ0cyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaVN3aWZ0VUkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpVGhlbWVNYW5hZ2VyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpVGhlbWVNYW5hZ2VyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInN1bW1hcnkiIDogImNob3JlKHJlbGVhc2UpOiAzLjIuMCIsCiAgICAgICAgICAidmVyc2lvbiIgOiAiMy4yLjAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS41IiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS41IiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE1LjAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAid2F0Y2hvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI3LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJkeW5hbWljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlTd2lmdFVJIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlUaGVtZU1hbmFnZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpVGhlbWVNYW5hZ2VyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaUNoYXJ0cyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaVN3aWZ0VUkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpVGhlbWVNYW5hZ2VyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpVGhlbWVNYW5hZ2VyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInN1bW1hcnkiIDogImNob3JlKHJlbGVhc2UpOiAzLjEuMSIsCiAgICAgICAgICAidmVyc2lvbiIgOiAiMy4xLjEiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE0LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJkeW5hbWljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpSW50ZWdyYXRpb25DYXJkcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlJbnRlZ3JhdGlvbkNhcmRzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaVN3aWZ0VUkiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaVRoZW1lTWFuYWdlciIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlUaGVtZU1hbmFnZXIiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpSW50ZWdyYXRpb25DYXJkcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUludGVncmF0aW9uQ2FyZHMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpU3dpZnRVSSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaVRoZW1lTWFuYWdlciIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaVRoZW1lTWFuYWdlciIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIyLjIuMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjMiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjMiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTQuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlDaGFydHMiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpQ2hhcnRzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlJbnRlZ3JhdGlvbkNhcmRzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUludGVncmF0aW9uQ2FyZHMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaVN3aWZ0VUkiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpU3dpZnRVSSIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJkeW5hbWljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlDaGFydHMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlDaGFydHMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlJbnRlZ3JhdGlvbkNhcmRzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpSW50ZWdyYXRpb25DYXJkcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaVN3aWZ0VUkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInN1bW1hcnkiIDogImNob3JlKHJlbGVhc2UpOiAyLjEuMCIsCiAgICAgICAgICAidmVyc2lvbiIgOiAiMi4xLjAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE0LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIkZpb3JpU3dpZnRVSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUNoYXJ0cyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJkeW5hbWljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpSW50ZWdyYXRpb25DYXJkcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlJbnRlZ3JhdGlvbkNhcmRzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImR5bmFtaWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaVN3aWZ0VUkiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpQ2hhcnRzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQ2hhcnRzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpSW50ZWdyYXRpb25DYXJkcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUludGVncmF0aW9uQ2FyZHMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlTd2lmdFVJIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpU3dpZnRVSSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJzdW1tYXJ5IiA6ICJjaG9yZShyZWxlYXNlKTogMi4wLjEiLAogICAgICAgICAgInZlcnNpb24iIDogIjIuMC4xIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImtleXdvcmRzIiA6IFsKICAgICAgICAiYXJraXQiLAogICAgICAgICJvcGVuc291cmNlIiwKICAgICAgICAicmVhbGl0eWNvbXBvc2VyIiwKICAgICAgICAicmVhbGl0eWtpdCIsCiAgICAgICAgInN3aWZ0IiwKICAgICAgICAic3dpZnR1aSIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJBcGFjaGUtMi4wIiwKICAgICAgICAidXJsIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vU0FQL2Nsb3VkLXNkay1pb3MtZmlvcmktYXIvbWFpbi9MSUNFTlNFIgogICAgICB9LAogICAgICAicmVhZG1lVVJMIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vU0FQL2Nsb3VkLXNkay1pb3MtZmlvcmktYXIvbWFpbi9SRUFETUUubWQiLAogICAgICAic3VtbWFyeSIgOiAiU0FQIEZpb3JpIGZvciBpT1MgQVIiLAogICAgICAidXJsIiA6ICJodHRwczovL2dpdGh1Yi5jb20vU0FQL2Nsb3VkLXNkay1pb3MtZmlvcmktYXIuZ2l0IiwKICAgICAgInZlcnNpb25zIiA6IFsKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS41IiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS41IiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE1LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIkZpb3JpQVIiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUFSIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUFSLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQVItcmVxdWlyZXNUb0VtYmVkWENGcmFtZXdvcmtzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJGaW9yaUFSLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlBUl93aXRoQmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQVItd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaUFSX3dpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlBUi13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjMuMC4xIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxNS4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJGaW9yaUFSIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlBUiIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlBUi13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUFSLXJlcXVpcmVzVG9FbWJlZFhDRnJhbWV3b3JrcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiRmlvcmlBUi13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpQVJfd2l0aEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUFSLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiRmlvcmlBUl93aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQVItd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuNSIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIzLjAuMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjUiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjUiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTQuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAiRmlvcmlBUiIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpb3JpQVIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpQVItd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlBUi1yZXF1aXJlc1RvRW1iZWRYQ0ZyYW1ld29ya3MiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkZpb3JpQVItd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJGaW9yaUFSX3dpdGhCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlvcmlBUi13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkZpb3JpQVJfd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaW9yaUFSLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjUiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMi4wLjAiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgewogICAgICAia2V5d29yZHMiIDogWwogICAgICAgICJjYWkiLAogICAgICAgICJjaGF0Ym90IiwKICAgICAgICAib3Blbi1zb3VyY2UiLAogICAgICAgICJzYXAiLAogICAgICAgICJzd2lmdCIsCiAgICAgICAgInN3aWZ0dWkiCiAgICAgIF0sCiAgICAgICJsaWNlbnNlIiA6IHsKICAgICAgICAibmFtZSIgOiAiQXBhY2hlLTIuMCIsCiAgICAgICAgInVybCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1NBUC9jbG91ZC1zZGstaW9zLWNhaS9tYWluL0xJQ0VOU0UiCiAgICAgIH0sCiAgICAgICJyZWFkbWVVUkwiIDogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9TQVAvY2xvdWQtc2RrLWlvcy1jYWkvbWFpbi9SRUFETUUubWQiLAogICAgICAic3VtbWFyeSIgOiAiU3dpZnQgcGFja2FnZSBhcyBtb2R1bGUgZm9yIGludGVyZmFjaW5nIHdpdGggU0FQIENvbnZlcnNhdGlvbmFsIEFJIGluIG5hdGl2ZSBpT1MgYXBwcy4gIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL1NBUC9jbG91ZC1zZGstaW9zLWNhaS5naXQiLAogICAgICAidmVyc2lvbnMiIDogWwogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjMiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjMiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTQuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAiU0FQQ0FJIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDQUktd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXJlcXVpcmVzVG9FbWJlZFhDRnJhbWV3b3JrcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQQ0FJLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQQ0FJX3dpdGhCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQQ0FJX3dpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjMiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMi4wLjIiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjE0LjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIlNBUENBSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQQ0FJLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS1yZXF1aXJlc1RvRW1iZWRYQ0ZyYW1ld29ya3MiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUENBSS13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENBSV93aXRoQmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENBSV93aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjIuMC4xIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxNC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJTQVBDQUkiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUkiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUENBSS13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktcmVxdWlyZXNUb0VtYmVkWENGcmFtZXdvcmtzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDQUktd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBDQUlfd2l0aEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBDQUlfd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIyLjAuMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjMiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjMiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTMuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAiU0FQQ0FJIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDQUktd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXJlcXVpcmVzVG9FbWJlZFhDRnJhbWV3b3JrcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQQ0FJLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQQ0FJX3dpdGhCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU0FQQ0FJX3dpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU0FQQ0FJLXdpdGhvdXRCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjMiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4wLjUiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW9zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEzLjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogIlNBUENBSSIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSSIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU0FQQ0FJLXdpdGhCaW5hcnlEZXBlbmRlbmNpZXMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS1yZXF1aXJlc1RvRW1iZWRYQ0ZyYW1ld29ya3MiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUENBSS13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENBSV93aXRoQmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNBUENBSV93aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNBUENBSS13aXRob3V0QmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMC40IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMy4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJTQVBDQUkiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUkiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNBUENBSS13aXRoQmluYXJ5RGVwZW5kZW5jaWVzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktcmVxdWlyZXNUb0VtYmVkWENGcmFtZXdvcmtzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTQVBDQUktd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBDQUlfd2l0aEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktd2l0aEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTQVBDQUlfd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTQVBDQUktd2l0aG91dEJpbmFyeURlcGVuZGVuY2llcyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxLjAuMyIKICAgICAgICB9CiAgICAgIF0KICAgIH0KICBdCn0.j0YUcpI5P_YbMFhqPIxo5gcUzu6KWIVwd1HWqiQnGkqeyQKwMTSBCd6mKVrN3nIE4ukQu9xdHukvv39Vxz1fkk9KSDeg0H0p_Q6JrE6HWGFg9Q9x-hxOHYy_7DJBVWUQDomfFGaHbO-PgaVoncEAD0Oq5yfbYSoJJ8lhfzbhKEKkYvnZMC1mINAlbq6x5fOil-gRhTFTr8N9UlXPs_3hY7cNNiWCFhKGUrvrnu2nO-bGUvKpzJo9pkF_i-PVlEgp8uwYCk58pr7t6GJB72R4K8T80QdxGolrevaH_9FF8AVEtssFHlL7gM4DSDIBBELtD_KFqjAJ41KuFqN3uHNW8g"}} \ No newline at end of file diff --git a/packages.json b/packages.json deleted file mode 100644 index 7aaf203..0000000 --- a/packages.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "SAP BTP SDK for iOS Swift Packages", - "overview": "Swift Packages provided by the SAP BTP SDK for iOS", - "packages": [ - { - "url": "https://github.com/SAP/cloud-sdk-ios.git" - }, - { - "url": "https://github.com/SAP/cloud-sdk-ios-fiori.git" - }, - { - "url": "https://github.com/SAP/cloud-sdk-ios-fiori-ar.git" - }, - { - "url": "https://github.com/SAP/cloud-sdk-ios-cai.git" - } - ], - "author": { - "name": "SAP" - } -}