Codercat Studio | Cookbook

This cookbook contains a collection of useful HoudiniFX node setups. All examples are stored using the new Houdini recipe API and can be copied from this website directly into Houdini using our simple shelf tools. We also periodically make a backup of the recipes here.

Copy a snippet of interest from this page, then use Paste on the "Cookbook" shelf to paste it in.

If you would like to share a recipe, click the Create button and paste in the output of the "Copy" shelf tool. Note that you must be logged in to do so. If you have any questions or comments, feel free to reach out at codercatclub@gmail.com.

Get new recipes updates over RSS feed.

⚠️ Changelog

11.20.2025 - We updated the copy shelf tool to include the Houdini version, which is also visible on the recipes listing. Please update your shelf tools using the Python one-liner from the Recommended Install section.

📦 Recommended Install

To install Cookbook shelf tools copy this code to Houdini Python Shell and press Enter. You will see Cookbook shelf apper on the top panel.

To open Python Shell press Alt-Shift-P or go to main menu Window > Python Shell.

📂 Alternative Manual Install
⬇️ Download shelf tool file and place it to your Houdini toolbar folder:
  • Windows:
  • macOS:
  • Linux:

Replace USERNAME and X.Y with your account name and Houdini version.

Restart Houdini.

? About this project

Motivation and Goals

We created this Houdini Cookbook because:

  • We needed a way to quickly share and store small Houdini node setups. Previously, we attempted to create HDA libraries, but it was too cumbersome for our small team.
  • We believe there is a better way to share Houdini examples than by sharing entire Houdini files.
  • We enjoy sharing our small setups with the Houdini community.
  • We strongly believe in the idea of "Own Your Data," therefore we do not hold any published recipes hostage. All recipes are backed up once a day to a public Git repository here. Even if this service goes down, anyone can still download the full collection and use it directly with the Cookbook shelf tool or by using the two Python functions described below.
  • We also embrace the idea of decentralization, and we are considering open sourcing the Cookbook web service so that anyone can run it locally with their own collection or as their own public webpage. Let us know if this is something that interests you.

How Does It Work

In Houdini 20.5, SideFX introduced a new Recipe system that allows users to save collections of nodes into human-readable structured text files (JSON). Within this, they added a new collection of Python utilities (hou.data) that allows for creating and loading recipes programmatically.

In particular, the Cookbook shelf tools use hou.data.selectedItemsAsData(...) for copying nodes and hou.createItemsFromData(...) for pasting.

For this web service, we use the Go programming language and store all submitted recipes in plain text JSON files.

Solar Panels
Split and offset mesh polys with random value making them to catch plesant highlight. Userful for mimiking solar or other panels.
Nov 03, 2025 | 20.5.584 | geometry Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogImxvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImFzc2lnbm1hdGVyaWFsMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJxdWlja3N1cmZhY2VtYXRlcmlhbDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJudW1tYXRlcmlhbHMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImJpbmRjb2xsZWN0aW9uZXhwYW5kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImJpbmRtZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYmluZG5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYmluZHBhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYmluZHB1cnBvc2UjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYmluZHN0cmVuZ3RoIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImN2ZXhhdXRvYmluZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJjdmV4YmluZGluZ3Nmb2xkZXIjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZW5hYmxlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImdlb3N1YnNldCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtYXRiaW5kaW5nZm9sZGVyIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm1hdHBhcmVudHBhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF0cGFyZW50dHlwZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtYXRzcGVjY3ZleCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtYXRzcGVjbWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm1hdHNwZWNwYXRoIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIi9tYXRlcmlhbHMvcXVpY2tzdXJmYWNlbWF0ZXJpYWwxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm1hdHNwZWN2ZXhwciMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJwYXJtc292ZXJjdmV4IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInBhcm1zb3ZlcmV4cG9ydHMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAicGFybXNvdmVybWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInBhcm1zb3ZlcnZleHByIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInByaW1wYXR0ZXJuIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIi9zb2xhcl9wYW5lbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXNzaWdubWF0ZXJpYWwiCiAgICB9LAogICAgImNvcHlhbmR0cmFuc2Zvcm0xIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNvbGFyX3BhbmVsIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibW9kaWZ5c291cmNlIjogIiIsCiAgICAgICAgICAgICJuY3kiOiAzLAogICAgICAgICAgICAiciI6IFsKICAgICAgICAgICAgICAgIDUuNTU5Nzc1MDMwMTcxNzY2NiwKICAgICAgICAgICAgICAgIC0zLjgzMDQ5MTM4ODM1MzcyNjQsCiAgICAgICAgICAgICAgICA1MC45ODE0NDA4OTY0NDcxNzUKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInMiOiBbCiAgICAgICAgICAgICAgICAxLjI1OTc4OTc5Njc2MjkyNSwKICAgICAgICAgICAgICAgIDEuMjU5Nzg5Nzk2NzYyOTI1MiwKICAgICAgICAgICAgICAgIDEuMjU5Nzg5Nzk2NzYyOTI1MgogICAgICAgICAgICBdLAogICAgICAgICAgICAidCI6IFsKICAgICAgICAgICAgICAgIDAuNjA2OTA2NTAzNDM4OTQ5NiwKICAgICAgICAgICAgICAgIC0wLjQwNzcyOTEyNjUxMzAwNDMsCiAgICAgICAgICAgICAgICAtMC45NjYyNDQ4NDY1ODI0MTI3CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4wMywKICAgICAgICAgICAgMi4yMwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZHVwbGljYXRlIgogICAgfSwKICAgICJkb21lbGlnaHQxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImFzc2lnbm1hdGVyaWFsMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICAxMDUuMDEwNDE1ODY5NzY3NzgsCiAgICAgICAgICAgICAgICAzMy4zMTIwOTA2Mjk0NDM2MjQsCiAgICAgICAgICAgICAgICA4LjM3NzQyMDEyNTkyNjUxNAogICAgICAgICAgICBdLAogICAgICAgICAgICAieG5fX2lucHV0c2V4cG9zdXJlX3Z5YSI6IDIuNSwKICAgICAgICAgICAgInhuX19pbnB1dHN0ZXh0dXJlZmlsZV9yM2FoIjogIiRIRlMvaG91ZGluaS9waWMvaGRyaS9IRFJJSGF2ZW5fc2t5bGl0X2dhcmFnZV8yay5yYXQiCiAgICAgICAgfSwKICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJmb2xkZXIwXzIiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZvbGRlcjFfMyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkthcm1hIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGlnaHQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX2NvbnRyb2xfcHpiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBY3RpdmUgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX29tYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGFjdGl2ZXJhZGl1c19jb250cm9sX3B6YmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodGFjdGl2ZXJhZGl1c19jb250cm9sX3B6YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQWN0aXZlIFJhZGl1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJzXzVmYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiKiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRjb250cmlic19jb250cm9sXzZzYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJzX2NvbnRyb2xfNnNiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb250cmlidXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFueSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIqIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRGlmZnVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJkaWZmdXNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVmbGVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZWZsZWN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29hdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJjb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU1NTIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInNzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlZvbHVtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJ2b2x1bWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBbnkgZGlmZnVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJkaWZmdXNlfHZvbHVtZXxzc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBbnkgbm9uLWRpZmZ1c2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiLWRpZmZ1c2UgXHUwMDI2IC12b2x1bWUgXHUwMDI2IC1zc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJzX2NvbnRyb2xfNnNiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdzdHJpbmcnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29udHJpYnV0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJ1dGVzY2F1c3RpY3NfMnhiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRjb250cmlidXRlc2NhdXN0aWNzX2NvbnRyb2xfM2JjZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnV0ZXNjYXVzdGljc19jb250cm9sXzNiY2ZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29udHJpYnV0ZXMgdG8gQ2F1c3RpY3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRjb250cmlidXRlc2NhdXN0aWNzX2NvbnRyb2xfM2JjZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdib29sJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNvbnRyaWJ1dGVzIHRvIENhdXN0aWNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0aWxsdW1iYWNrZ3JvdW5kX2NvbnRyb2xfbDRiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdib29sJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIklsbHVtaW5hdGUgQmFja2dyb3VuZCBIb2xkb3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0aWxsdW1iYWNrZ3JvdW5kX2tyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0aWxsdW1iYWNrZ3JvdW5kX2NvbnRyb2xfbDRiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0aWxsdW1iYWNrZ3JvdW5kX2NvbnRyb2xfbDRiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbGx1bWluYXRlIEJhY2tncm91bmQgSG9sZG91dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYm9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGxpZ2h0Z2VvY2FzdHNzaGFkb3dfMnhiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRsaWdodGdlb2Nhc3Rzc2hhZG93X2NvbnRyb2xfM2JjZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0bGlnaHRnZW9jYXN0c3NoYWRvd19jb250cm9sXzNiY2ZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTGlnaHQgR2VvbWV0cnkgQ2FzdHMgU2hhZG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bGlnaHRnZW9jYXN0c3NoYWRvd19jb250cm9sXzNiY2ZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnYm9vbCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBHZW9tZXRyeSBDYXN0cyBTaGFkb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfY29udHJvbF94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ3N0cmluZycpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMUEUgVGFnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bHBldGFnX3djYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0bHBldGFnX2NvbnRyb2xfeHBiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0bHBldGFnX2NvbnRyb2xfeHBiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMUEUgVGFnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c18xa2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHBvaW50cmFkaXVzX2NvbnRyb2xfMnhiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cG9pbnRyYWRpdXNfY29udHJvbF8yeGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBvaW50IExpZ2h0IFJhZGl1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21pbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cG9pbnRyYWRpdXNfY29udHJvbF8yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBvaW50IExpZ2h0IFJhZGl1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHJlbmRlcmxpZ2h0Z2VvX2NvbnRyb2xfeTJiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdib29sJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlbmRlciBMaWdodCBHZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHJlbmRlcmxpZ2h0Z2VvX3hwYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cmVuZGVybGlnaHRnZW9fY29udHJvbF95MmJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRyZW5kZXJsaWdodGdlb19jb250cm9sX3kyYmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVuZGVyIExpZ2h0IEdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2hhZGVyX2NvbnRyb2xfeHBiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdzdHJpbmcnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTGlnaHQgU2hhZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2hhZGVyX3djYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2hhZGVyX2NvbnRyb2xfeHBiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2hhZGVyX2NvbnRyb2xfeHBiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBTaGFkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNpbmdsZXNpZGVkXzFrYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2luZ2xlc2lkZWRfY29udHJvbF8yeGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRzaW5nbGVzaWRlZF9jb250cm9sXzJ4YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2luZ2xlIFNpZGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2luZ2xlc2lkZWRfY29udHJvbF8yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2luZ2xlIFNpZGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c3ByZWFkX2NvbnRyb2xfeHBiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTcHJlYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzcHJlYWRfd2NiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRzcHJlYWRfY29udHJvbF94cGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRzcHJlYWRfY29udHJvbF94cGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwcmVhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21heCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21pbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX2RlZmF1bHQiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX2NvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTYW1wbGluZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRoZHJpX21heF9pc2l6ZV9jb250cm9sX3kyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnaW50JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1heGltdW0gSERSSSBTaXplIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0aGRyaV9tYXhfaXNpemVfeHBiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDIwNDgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRoZHJpX21heF9pc2l6ZV9jb250cm9sX3kyYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodGhkcmlfbWF4X2lzaXplX2NvbnRyb2xfeTJiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXhpbXVtIEhEUkkgU2l6ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNhbXBsaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiaW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodG1pc2JpYXNfY29udHJvbF9rcmJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1JUyBCaWFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bWlzYmlhc19qZWJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodG1pc2JpYXNfY29udHJvbF9rcmJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRtaXNiaWFzX2NvbnRyb2xfa3JiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNSVMgQmlhcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaW5fdmFsdWUiOiAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21heCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21pbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cG9ydGFsbWlzYmlhc19ib2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHBvcnRhbG1pc2JpYXNfY29udHJvbF9jMWJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRwb3J0YWxtaXNiaWFzX2NvbnRyb2xfYzFiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb3J0YWwgTUlTIEJpYXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWluX3ZhbHVlIjogLTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdF9tYXgiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdF9taW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNhbXBsaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHBvcnRhbG1pc2JpYXNfY29udHJvbF9jMWJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBvcnRhbCBNSVMgQmlhcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5nbW9kZV9jb250cm9sX3B6YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnaW50JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNhbXBsaW5nIE1vZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzYW1wbGluZ21vZGVfb21iZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJBdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5nbW9kZV9jb250cm9sX3B6YmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5nbW9kZV9jb250cm9sX3B6YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmcgTW9kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIkF1dG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJVbmlmb3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIlVuaWZvcm0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBUcmVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIkxpZ2h0IFRyZWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJ0b2tlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5ncXVhbGl0eV9jb250cm9sX2w0YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmcgUXVhbGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5ncXVhbGl0eV9rcmJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5ncXVhbGl0eV9jb250cm9sX2w0YmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5ncXVhbGl0eV9jb250cm9sX2w0YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmcgUXVhbGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNhbXBsaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF9kZWZhdWx0IjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJjb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfZGVmYXVsdCI6ICIxIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfdGFicyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgLTEuMTcKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImRvbWVsaWdodDo6My4wIgogICAgfSwKICAgICJxdWlja3N1cmZhY2VtYXRlcmlhbDEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiY29weWFuZHRyYW5zZm9ybTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJiYXNlIjogMC4wOTMsCiAgICAgICAgICAgICJiYXNlX2NvbG9yIjogWwogICAgICAgICAgICAgICAgMC4xNDczMDAwMDQ5NTkxMDY0NSwKICAgICAgICAgICAgICAgIDAuMjIzNjUwMDA4NDQwMDE3NywKICAgICAgICAgICAgICAgIDAuMzAwMDAwMDExOTIwOTI4OTYKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImJhc2VfY29sb3JfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAiYmFzZV9jb2xvcl9maWxlIjogImxvb2tkZXYvdXZncmlkX2dyZXkuZXhyIiwKICAgICAgICAgICAgImJhc2VfY29sb3JfcHJpbXZhcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJiYXNlX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgImJ1bXBfc2NhbGUiOiAwLjAyNTAwMDAwMDM3MjUyOTAzLAogICAgICAgICAgICAiYnVtcF9zY2FsZV9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJidW1wX3N0eWxlX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgImNsYXNzcHJpbXBhdGgiOiAiL19fY2xhc3NfbXRsX18vYHN0cnNwbGl0KGNocyhcInByaW1wYXRoXCIpLFwiL1wiLC0xKWAiLAogICAgICAgICAgICAiY29hdF9jb2xvcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJjb2F0X2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgImNvYXRfcm91Z2huZXNzIjogMC4xMDAwMDAwMDE0OTAxMTYxMiwKICAgICAgICAgICAgImNvYXRfcm91Z2huZXNzX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgImVtaXNzaW9uX2NvbG9yX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgImVtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAiZW1pc3Npb25fY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAiZmlsdGVydHlwZV9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJpbnN0YW5jZWFibGUiOiB0cnVlLAogICAgICAgICAgICAibWV0YWxuZXNzIjogMC45NTMsCiAgICAgICAgICAgICJtZXRhbG5lc3NfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAib3BhY2l0eV9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJvcGFjaXR5X3ByaW12YXJfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAicHJpbXBhdHRlcm4iOiAiL01hdGVyaWFscy9RdWlja1N1cmZhY2VNYXRlcmlhbCIsCiAgICAgICAgICAgICJwcm9qZWN0aW9uX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInJlZmZpbGVwYXRoIjogIiRIRlMvaG91ZGluaS91c2QvbWF0ZXJpYWxzL3F1aWNrX21hdGVyaWFscy9xdWlja19tYXRlcmlhbHMudXNkIiwKICAgICAgICAgICAgInJlZnR5cGUiOiAicmVmZmlsZSIsCiAgICAgICAgICAgICJyb3VnaG5lc3NfcHJpbXZhcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJzaGVlbl9jb2xvcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJzaGVlbl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJzaGVlbl9yb3VnaG5lc3MiOiAwLjMwMDAwMDAxMTkyMDkyODk2LAogICAgICAgICAgICAic2hlZW5fcm91Z2huZXNzX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInNwZWN1bGFyX0lPUl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJzcGVjdWxhcl9hbmlzb3Ryb3B5X2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInNwZWN1bGFyX2NvbG9yX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInNwZWN1bGFyX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInNwZWN1bGFyX3JvdGF0aW9uX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInNwZWN1bGFyX3JvdWdobmVzcyI6IDAuMDMxLAogICAgICAgICAgICAic3BlY3VsYXJfcm91Z2huZXNzX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInN1YnN1cmZhY2VfY29sb3JfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAic3Vic3VyZmFjZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInN1YnN1cmZhY2VfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAic3Vic3VyZmFjZV9yYWRpdXNfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAic3Vic3VyZmFjZV9zY2FsZV9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ0aGluX2ZpbG1fSU9SX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRoaW5fZmlsbV90aGlja25lc3NfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAidGhpbl9maWxtX3RoaWNrbmVzc19wcmltdmFyX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRoaW5fd2FsbGVkX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9jb2xvcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ0cmFuc21pc3Npb25fY29sb3JfcHJpbXZhcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ0cmFuc21pc3Npb25fY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAidHJhbnNtaXNzaW9uX2RlcHRoX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9kaXNwZXJzaW9uX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRyaXBsYW5hcl9ibGVuZF9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ0cmlwbGFuYXJfdXBheGlzX2NvbnRyb2wiOiAic2V0IiwKICAgICAgICAgICAgInRydWVfZGlzcGxhY2VtZW50c19jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ1dl9vZmZzZXRfY29udHJvbCI6ICJzZXQiLAogICAgICAgICAgICAidXZfcHJpbXZhcl9jb250cm9sIjogInNldCIsCiAgICAgICAgICAgICJ1dl9zY2FsZV9jb250cm9sIjogInNldCIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogImNsYXNzcHJpbXBhdGgiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZvbGRlcjAiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJRdWljayBNYXRlcmlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzYW5jZXN0b3IiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGVfd2hlbiI6ICJ7IHJlZnR5cGUgIT0gY3JlYXRlY2xhc3MgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNsYXNzIEFuY2VzdG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHV0aWxzXG5sb3B1dGlscy5zZWxlY3RQcmltc0luUGFybShrd2FyZ3MsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiU2VsZWN0IGEgcHJpbWl0aXZlIGluIHRoZSBTY2VuZSBWaWV3ZXIgb3IgU2NlbmUgR3JhcGggVHJlZSBwYW5lLlxuQ3RybC1jbGljayB0byBzZWxlY3QgdXNpbmcgdGhlIHByaW1pdGl2ZSBwaWNrZXIgZGlhbG9nLlxuQWx0LWNsaWNrIHRvIHRvZ2dsZSBtb3ZlbWVudCBvZiB0aGUgZGlzcGxheSBmbGFnLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiQlVUVE9OU19yZXNlbGVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnVzZHBhdGh0eXBlIjogInByaW0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNyZWF0ZW91dHB1dHBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDcmVhdGUgTWF0ZXJpYWwgT3V0cHV0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNyZWF0ZXBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDcmVhdGUgUGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc3RpbmF0aW9ucHJpbV9ncm91cCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlkZV93aGVuIjogInsgcmVmdHlwZSA9PSBub25lIH0geyByZWZ0eXBlID09IGNyZWF0ZWNsYXNzIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJEZXN0aW5hdGlvbiBQcmltaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5zdGFuY2VhYmxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1ha2UgSW5zdGFuY2VhYmxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJlbnRwcmltdHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIlVzZEdlb21TY29wZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZVBhcmVudFR5cGVzTWVudSgpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQYXJlbnQgUHJpbWl0aXZlIFR5cGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlZnBhcmVudG1hdCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZWZlcmVuY2UgUGFyZW50IE1hdGVyaWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogInNpbXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnN3aXRjaGVyIjogImRlc3RpbmF0aW9ucHJpbV9ncm91cCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9zaW1wbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImluaXRmb3JlZGl0IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlSW5pdGlhbGl6ZVBhcmFtZXRlcnNNZW51KDApIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiSW5pdGlhbGl6ZSBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2siOiAiaW1wb3J0IGxvcHV0aWxzXG5ub2RlID0ga3dhcmdzWydub2RlJ11cbmZpbGUgPSBOb25lXG5pZiBub2RlLmV2YWxQYXJtKCdyZWZ0eXBlJykgPT0gJ3JlZmZpbGUnOlxuICAgIGZpbGUgPSBub2RlLnBhcm0oJ3JlZmZpbGVwYXRoJykuZXZhbEFzU3RyaW5nKCkuc3RyaXAoJ1xcJ1wiJylcbmxvcHV0aWxzLmluaXRpYWxpemVQYXJhbWV0ZXJzKG5vZGUsIGt3YXJnc1snc2NyaXB0X3ZhbHVlJ10sIGZpbGUpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcmRlcmVkX21lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInByaW1wYXR0ZXJuIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogImBsb3BpbnB1dHByaW1zKCcuJywgMClgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZVByaW1QYXR0ZXJuTWVudShrd2FyZ3NbJ25vZGUnXSwgMCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQcmltaXRpdmVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ190b2dnbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uIjogImltcG9ydCBsb3B1dGlsc1xubm9kZSA9IGt3YXJnc1snbm9kZSddXG5pZiBub2RlLmV2YWxQYXJtKCdyZWZ0eXBlJykgIT0gJ3JlZmZpbGUnOlxuICAgIGxvcHV0aWxzLnNlbGVjdFByaW1zSW5QYXJtKGt3YXJncywgVHJ1ZSlcbmVsc2U6XG4gICAgZmlsZSA9IG5vZGUucGFybSgncmVmZmlsZXBhdGgnKS5ldmFsQXNTdHJpbmcoKS5zdHJpcCgnXFwnXCInKVxuICAgIHByaW1zID0gbG9wdXRpbHMuc2VsZWN0UHJpbXNJblBhcm1Gcm9tRmlsZShrd2FyZ3MsIEZhbHNlLCBmaWxlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiU2VsZWN0IHByaW1pdGl2ZXMgaW4gdGhlIFNjZW5lIFZpZXdlciBvciBTY2VuZSBHcmFwaCBUcmVlIHBhbmUuXG5DdHJsLWNsaWNrIHRvIHNlbGVjdCB1c2luZyB0aGUgcHJpbWl0aXZlIHBpY2tlciBkaWFsb2cuXG5TaGlmdC1jbGljayB0byBzZWxlY3QgdXNpbmcgdGhlIHByaW1pdGl2ZSBwYXR0ZXJuIGVkaXRvci5cbkFsdC1jbGljayB0byB0b2dnbGUgbW92ZW1lbnQgb2YgdGhlIGRpc3BsYXkgZmxhZy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIkJVVFRPTlNfcmVzZWxlY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojp1c2RwYXRodHlwZSI6ICJwcmltbGlzdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicXVpY2ttYXRlcmlhbHJlZnJlc2giOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZnJlc2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrIjogImhvdS5wd2QoKS5wYXJtKCdyZWxvYWQnKS5wcmVzc0J1dHRvbjtob3UucHdkKCkucGFybSgnY3JlYXRlcGFybXMnKS5wcmVzc0J1dHRvbigpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlZmZpbGVwYXRoIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWRlX3doZW4iOiAieyByZWZ0eXBlICE9IHJlZmZpbGUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZmVyZW5jZSBGaWxlIFBhdGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uIjogImltcG9ydCBwYXJtdXRpbHNcbnBhcm11dGlscy5zZWxlY3RNdWx0aXBsZUZpbGVzRm9yUGFybShrd2FyZ3NbJ3Bhcm10dXBsZSddWzBdKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiT3BlbiBmbG9hdGluZyBmaWxlIGNob29zZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIkJVVFRPTlNfY2hvb3Nlcl9maWxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWZ0eXBlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZWZlcmVuY2UgVHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZWZlcmVuY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmhlcml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJpbmhlcml0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3BlY2lhbGl6ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAic3BlY2lhbGl6ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZmVyZW5jZSBGaWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZWZmaWxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ3JlYXRlIENsYXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJjcmVhdGVjbGFzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxvYWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGVfd2hlbiI6ICJ7IHJlZnR5cGUgIT0gcmVmZmlsZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVsb2FkIEZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYnV0dG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OmhlYWRlcl9wYXJtIjogInF1aWNrbWF0ZXJpYWxyZWZyZXNoIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInByaW10eXBlIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGFjZW1lbnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9tYWtlY29udHJvbHBhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkaXNjb25uZWN0aW9uIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJvdXRwdXRzOm10bHg6ZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAidG9rZW4iCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJkaXNwbGFjZW1lbnRfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICInbm9uZScgaWYgaG91LnB3ZCgpLmV2YWxQYXJtKCd0cnVlX2Rpc3BsYWNlbWVudHMnKT09MSBlbHNlICdkaXNjb25uZWN0aW5wdXQnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiZGlzcGxhY2VtZW50X2NvbnRyb2wiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9tYWtlY29udHJvbHBhcm0iOiAiMCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImZvbGRlcjBfMCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkJhc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiYXNlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYmFzZV9jb250cm9sID09IGJsb2NrIH0geyBiYXNlX2NvbnRyb2wgPT0gbm9uZSB9IHsgYmFzZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQmFzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9nbF9kaWZmX2ludGVuc2l0eSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOmJhc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3IiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBiYXNlX2NvbG9yX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGJhc2VfY29sb3JfY29udHJvbCA9PSBub25lIH0geyBiYXNlX2NvbG9yX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9nbF9kaWZmIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6YmFzZV9jb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiY29sb3IzZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiYXNlX2NvbG9yX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdjb2xvcjNmJywgJ2lucHV0czpiYXNlX2NvbG9yJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiYmFzZV9jb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3JfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYmFzZV9jb2xvcl9maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGJhc2VfY29sb3JfZmlsZV9jb250cm9sID09IG5vbmUgfSB7IGJhc2VfY29sb3JfZmlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IgTWFwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ19yZXBsYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHRvb2x1dGlscztsb3B0b29sdXRpbHMuc2V0dXBDb3BOZXRGb3JNYXAoa3dhcmdzPWt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9oZWxwIjogIkNyZWF0ZSBDT1AgdGV4dHVyZSBmb3IgdGhpcyBtYXAuIEhvbGQgQ3RybC9DbWQgdG8gc3RhcnQgYSBuZXcgY29wbmV0LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiTkVUV09SS1NfY29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6YmFzZV9jb2xvcl9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3JfZmlsZV9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnYXNzZXQnLCAnaW5wdXRzOmJhc2VfY29sb3JfZmlsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogImJhc2VfY29sb3JfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3JfcHJpbXZhciI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJkaXNwbGF5Q29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBiYXNlX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgYmFzZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wgPT0gbm9uZSB9IHsgYmFzZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBQcmltdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm11bmlmb3JtIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpiYXNlX2NvbG9yX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFzZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdzdHJpbmcnLCAnaW5wdXRzOmJhc2VfY29sb3JfcHJpbXZhcicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogImJhc2VfY29sb3JfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czpiYXNlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiYmFzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGFsbmVzcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgbWV0YWxuZXNzX2NvbnRyb2wgPT0gYmxvY2sgfSB7IG1ldGFsbmVzc19jb250cm9sID09IG5vbmUgfSB7IG1ldGFsbmVzc19jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWV0YWxuZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2dsX21ldGFsbGljIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6bWV0YWxuZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRhbG5lc3NfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czptZXRhbG5lc3MnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJtZXRhbG5lc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRhbG5lc3NfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgbWV0YWxuZXNzX2ZpbGVfY29udHJvbCA9PSBibG9jayB9IHsgbWV0YWxuZXNzX2ZpbGVfY29udHJvbCA9PSBub25lIH0geyBtZXRhbG5lc3NfZmlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWV0YWxuZXNzIE1hcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJzdHJpbmdfcmVwbGFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uIjogImltcG9ydCBsb3B0b29sdXRpbHM7bG9wdG9vbHV0aWxzLnNldHVwQ29wTmV0Rm9yTWFwKGt3YXJncz1rd2FyZ3MpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faGVscCI6ICJDcmVhdGUgQ09QIHRleHR1cmUgZm9yIHRoaXMgbWFwLiBIb2xkIEN0cmwvQ21kIHRvIHN0YXJ0IGEgbmV3IGNvcG5ldC4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIk5FVFdPUktTX2NvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOm1ldGFsbmVzc19maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGFsbmVzc19maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6bWV0YWxuZXNzX2ZpbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJtZXRhbG5lc3NfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX2RlZmF1bHQiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJjb2xsYXBzaWJsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIwXzEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTcGVjdWxhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJvdWdobmVzc19wcmltdmFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyByb3VnaG5lc3NfcHJpbXZhcl9jb250cm9sID09IGJsb2NrIH0geyByb3VnaG5lc3NfcHJpbXZhcl9jb250cm9sID09IG5vbmUgfSB7IHJvdWdobmVzc19wcmltdmFyX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3VnaG5lc3MgUHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtdW5pZm9ybSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6cm91Z2huZXNzX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicm91Z2huZXNzX3ByaW12YXJfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ3N0cmluZycsICdpbnB1dHM6cm91Z2huZXNzX3ByaW12YXInLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJyb3VnaG5lc3NfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3BlY3VsYXJfY29udHJvbCA9PSBibG9jayB9IHsgc3BlY3VsYXJfY29udHJvbCA9PSBub25lIH0geyBzcGVjdWxhcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3BlY3VsYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZ2xfc3BlY19pbnRlbnNpdHkiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzcGVjdWxhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfSU9SIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMS41LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzcGVjdWxhcl9JT1JfY29udHJvbCA9PSBibG9jayB9IHsgc3BlY3VsYXJfSU9SX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3BlY3VsYXJfSU9SX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmRleCBvZiBSZWZyYWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2dsX2lvciI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnNwZWN1bGFyX0lPUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfSU9SX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6c3BlY3VsYXJfSU9SJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3BlY3VsYXJfSU9SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfYW5pc290cm9weSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3BlY3VsYXJfYW5pc290cm9weV9jb250cm9sID09IGJsb2NrIH0geyBzcGVjdWxhcl9hbmlzb3Ryb3B5X2NvbnRyb2wgPT0gbm9uZSB9IHsgc3BlY3VsYXJfYW5pc290cm9weV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3BlY3VsYXIgQW5pc290cm9weSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnNwZWN1bGFyX2FuaXNvdHJvcHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX2FuaXNvdHJvcHlfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czpzcGVjdWxhcl9hbmlzb3Ryb3B5JywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3BlY3VsYXJfYW5pc290cm9weSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX2NvbG9yIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3BlY3VsYXJfY29sb3JfY29udHJvbCA9PSBibG9jayB9IHsgc3BlY3VsYXJfY29sb3JfY29udHJvbCA9PSBub25lIH0geyBzcGVjdWxhcl9jb2xvcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZ2xfc3BlYyI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnNwZWN1bGFyX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJjb2xvcjNmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX2NvbG9yX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdjb2xvcjNmJywgJ2lucHV0czpzcGVjdWxhcl9jb2xvcicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNwZWN1bGFyX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfY29sb3JfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3BlY3VsYXJfY29sb3JfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyBzcGVjdWxhcl9jb2xvcl9maWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3BlY3VsYXJfY29sb3JfZmlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IgTWFwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ19yZXBsYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHRvb2x1dGlscztsb3B0b29sdXRpbHMuc2V0dXBDb3BOZXRGb3JNYXAoa3dhcmdzPWt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9oZWxwIjogIkNyZWF0ZSBDT1AgdGV4dHVyZSBmb3IgdGhpcyBtYXAuIEhvbGQgQ3RybC9DbWQgdG8gc3RhcnQgYSBuZXcgY29wbmV0LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiTkVUV09SS1NfY29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6c3BlY3VsYXJfY29sb3JfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYXNzZXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWxlX2ltYWdlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjdWxhcl9jb2xvcl9maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6c3BlY3VsYXJfY29sb3JfZmlsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNwZWN1bGFyX2NvbG9yX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjdWxhcl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnNwZWN1bGFyJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3BlY3VsYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjdWxhcl9yb3RhdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3BlY3VsYXJfcm90YXRpb25fY29udHJvbCA9PSBibG9jayB9IHsgc3BlY3VsYXJfcm90YXRpb25fY29udHJvbCA9PSBub25lIH0geyBzcGVjdWxhcl9yb3RhdGlvbl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3BlY3VsYXIgUm90YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzcGVjdWxhcl9yb3RhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfcm90YXRpb25fY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czpzcGVjdWxhcl9yb3RhdGlvbicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNwZWN1bGFyX3JvdGF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfcm91Z2huZXNzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMC4yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzcGVjdWxhcl9yb3VnaG5lc3NfY29udHJvbCA9PSBibG9jayB9IHsgc3BlY3VsYXJfcm91Z2huZXNzX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3BlY3VsYXJfcm91Z2huZXNzX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3VnaG5lc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZ2xfcm91Z2giOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzcGVjdWxhcl9yb3VnaG5lc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX3JvdWdobmVzc19jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnNwZWN1bGFyX3JvdWdobmVzcycsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNwZWN1bGFyX3JvdWdobmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX3JvdWdobmVzc19maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzcGVjdWxhcl9yb3VnaG5lc3NfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyBzcGVjdWxhcl9yb3VnaG5lc3NfZmlsZV9jb250cm9sID09IG5vbmUgfSB7IHNwZWN1bGFyX3JvdWdobmVzc19maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3VnaG5lc3MgTWFwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ19yZXBsYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHRvb2x1dGlscztsb3B0b29sdXRpbHMuc2V0dXBDb3BOZXRGb3JNYXAoa3dhcmdzPWt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9oZWxwIjogIkNyZWF0ZSBDT1AgdGV4dHVyZSBmb3IgdGhpcyBtYXAuIEhvbGQgQ3RybC9DbWQgdG8gc3RhcnQgYSBuZXcgY29wbmV0LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiTkVUV09SS1NfY29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6c3BlY3VsYXJfcm91Z2huZXNzX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImFzc2V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmlsZV9pbWFnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY3VsYXJfcm91Z2huZXNzX2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Fzc2V0JywgJ2lucHV0czpzcGVjdWxhcl9yb3VnaG5lc3NfZmlsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNwZWN1bGFyX3JvdWdobmVzc19maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJjb2xsYXBzaWJsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIwXzIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUcmFuc21pc3Npb24iLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc21pc3Npb24iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHRyYW5zbWlzc2lvbl9jb250cm9sID09IGJsb2NrIH0geyB0cmFuc21pc3Npb25fY29udHJvbCA9PSBub25lIH0geyB0cmFuc21pc3Npb25fY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRyYW5zbWlzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9nbF90cmFuc3BhcmVuY3kiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czp0cmFuc21pc3Npb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9jb2xvciI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHRyYW5zbWlzc2lvbl9jb2xvcl9jb250cm9sID09IGJsb2NrIH0geyB0cmFuc21pc3Npb25fY29sb3JfY29udHJvbCA9PSBub25lIH0geyB0cmFuc21pc3Npb25fY29sb3JfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRyYW5zbWlzc2lvbiBDb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnRyYW5zbWlzc2lvbl9jb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiY29sb3IzZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc21pc3Npb25fY29sb3JfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2NvbG9yM2YnLCAnaW5wdXRzOnRyYW5zbWlzc2lvbl9jb2xvcicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInRyYW5zbWlzc2lvbl9jb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9jb2xvcl9maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB0cmFuc21pc3Npb25fY29sb3JfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyB0cmFuc21pc3Npb25fY29sb3JfZmlsZV9jb250cm9sID09IG5vbmUgfSB7IHRyYW5zbWlzc2lvbl9jb2xvcl9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czp0cmFuc21pc3Npb25fY29sb3JfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYXNzZXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWxlX2ltYWdlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc21pc3Npb25fY29sb3JfZmlsZV9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnYXNzZXQnLCAnaW5wdXRzOnRyYW5zbWlzc2lvbl9jb2xvcl9maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAidHJhbnNtaXNzaW9uX2NvbG9yX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc21pc3Npb25fY29sb3JfcHJpbXZhciI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgdHJhbnNtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgdHJhbnNtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBub25lIH0geyB0cmFuc21pc3Npb25fY29sb3JfcHJpbXZhcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IgUHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtdW5pZm9ybSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dHJhbnNtaXNzaW9uX2NvbG9yX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHJhbnNtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ3N0cmluZycsICdpbnB1dHM6dHJhbnNtaXNzaW9uX2NvbG9yX3ByaW12YXInLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0cmFuc21pc3Npb25fY29sb3JfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnRyYW5zbWlzc2lvbicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInRyYW5zbWlzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyYW5zbWlzc2lvbl9kZXB0aCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgdHJhbnNtaXNzaW9uX2RlcHRoX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRyYW5zbWlzc2lvbl9kZXB0aF9jb250cm9sID09IG5vbmUgfSB7IHRyYW5zbWlzc2lvbl9kZXB0aF9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRGVwdGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnRyYW5zbWlzc2lvbl9kZXB0aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHJhbnNtaXNzaW9uX2RlcHRoX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6dHJhbnNtaXNzaW9uX2RlcHRoJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAidHJhbnNtaXNzaW9uX2RlcHRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHJhbnNtaXNzaW9uX2Rpc3BlcnNpb24iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHRyYW5zbWlzc2lvbl9kaXNwZXJzaW9uX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRyYW5zbWlzc2lvbl9kaXNwZXJzaW9uX2NvbnRyb2wgPT0gbm9uZSB9IHsgdHJhbnNtaXNzaW9uX2Rpc3BlcnNpb25fY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkRpc3BlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnRyYW5zbWlzc2lvbl9kaXNwZXJzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc21pc3Npb25fZGlzcGVyc2lvbl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnRyYW5zbWlzc2lvbl9kaXNwZXJzaW9uJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAidHJhbnNtaXNzaW9uX2Rpc3BlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMF8zIjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3Vic3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnN1cmZhY2UiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHN1YnN1cmZhY2VfY29udHJvbCA9PSBibG9jayB9IHsgc3Vic3VyZmFjZV9jb250cm9sID09IG5vbmUgfSB7IHN1YnN1cmZhY2VfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlN1YnN1cmZhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzdWJzdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJzdXJmYWNlX2NvbG9yIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3Vic3VyZmFjZV9jb2xvcl9jb250cm9sID09IGJsb2NrIH0geyBzdWJzdXJmYWNlX2NvbG9yX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3Vic3VyZmFjZV9jb2xvcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzdWJzdXJmYWNlX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJjb2xvcjNmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnN1cmZhY2VfY29sb3JfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2NvbG9yM2YnLCAnaW5wdXRzOnN1YnN1cmZhY2VfY29sb3InLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJzdWJzdXJmYWNlX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic3VyZmFjZV9jb2xvcl9maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzdWJzdXJmYWNlX2NvbG9yX2ZpbGVfY29udHJvbCA9PSBibG9jayB9IHsgc3Vic3VyZmFjZV9jb2xvcl9maWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3Vic3VyZmFjZV9jb2xvcl9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzdWJzdXJmYWNlX2NvbG9yX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImFzc2V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmlsZV9pbWFnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic3VyZmFjZV9jb2xvcl9maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6c3Vic3VyZmFjZV9jb2xvcl9maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3Vic3VyZmFjZV9jb2xvcl9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic3VyZmFjZV9jb2xvcl9wcmltdmFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzdWJzdXJmYWNlX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgc3Vic3VyZmFjZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3Vic3VyZmFjZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBQcmltdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm11bmlmb3JtIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzdWJzdXJmYWNlX2NvbG9yX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic3VyZmFjZV9jb2xvcl9wcmltdmFyX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdzdHJpbmcnLCAnaW5wdXRzOnN1YnN1cmZhY2VfY29sb3JfcHJpbXZhcicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInN1YnN1cmZhY2VfY29sb3JfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnN1cmZhY2VfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czpzdWJzdXJmYWNlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3Vic3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnN1cmZhY2VfcmFkaXVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3Vic3VyZmFjZV9yYWRpdXNfY29udHJvbCA9PSBibG9jayB9IHsgc3Vic3VyZmFjZV9yYWRpdXNfY29udHJvbCA9PSBub25lIH0geyBzdWJzdXJmYWNlX3JhZGl1c19jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6c3Vic3VyZmFjZV9yYWRpdXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImNvbG9yM2YiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb2xvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vic3VyZmFjZV9yYWRpdXNfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2NvbG9yM2YnLCAnaW5wdXRzOnN1YnN1cmZhY2VfcmFkaXVzJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic3Vic3VyZmFjZV9yYWRpdXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJzdXJmYWNlX3NjYWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc3Vic3VyZmFjZV9zY2FsZV9jb250cm9sID09IGJsb2NrIH0geyBzdWJzdXJmYWNlX3NjYWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgc3Vic3VyZmFjZV9zY2FsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2NhbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzdWJzdXJmYWNlX3NjYWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJzdXJmYWNlX3NjYWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6c3Vic3VyZmFjZV9zY2FsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInN1YnN1cmZhY2Vfc2NhbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJzdXJmYWNlX3NjYWxlX2ZpbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHN1YnN1cmZhY2Vfc2NhbGVfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyBzdWJzdXJmYWNlX3NjYWxlX2ZpbGVfY29udHJvbCA9PSBub25lIH0geyBzdWJzdXJmYWNlX3NjYWxlX2ZpbGVfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNjYWxlIE1hcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJzdHJpbmdfcmVwbGFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uIjogImltcG9ydCBsb3B0b29sdXRpbHM7bG9wdG9vbHV0aWxzLnNldHVwQ29wTmV0Rm9yTWFwKGt3YXJncz1rd2FyZ3MpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faGVscCI6ICJDcmVhdGUgQ09QIHRleHR1cmUgZm9yIHRoaXMgbWFwLiBIb2xkIEN0cmwvQ21kIHRvIHN0YXJ0IGEgbmV3IGNvcG5ldC4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIk5FVFdPUktTX2NvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnN1YnN1cmZhY2Vfc2NhbGVfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYXNzZXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWxlX2ltYWdlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJzdXJmYWNlX3NjYWxlX2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Fzc2V0JywgJ2lucHV0czpzdWJzdXJmYWNlX3NjYWxlX2ZpbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJzdWJzdXJmYWNlX3NjYWxlX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMF80IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2hlZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGVlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc2hlZW5fY29udHJvbCA9PSBibG9jayB9IHsgc2hlZW5fY29udHJvbCA9PSBub25lIH0geyBzaGVlbl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2hlZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzaGVlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hlZW5fY29sb3IiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBzaGVlbl9jb2xvcl9jb250cm9sID09IGJsb2NrIH0geyBzaGVlbl9jb2xvcl9jb250cm9sID09IG5vbmUgfSB7IHNoZWVuX2NvbG9yX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTaGVlbiBDb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnNoZWVuX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJjb2xvcjNmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoZWVuX2NvbG9yX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdjb2xvcjNmJywgJ2lucHV0czpzaGVlbl9jb2xvcicsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNoZWVuX2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hlZW5fY29sb3JfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgc2hlZW5fY29sb3JfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyBzaGVlbl9jb2xvcl9maWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgc2hlZW5fY29sb3JfZmlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IgTWFwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ19yZXBsYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHRvb2x1dGlscztsb3B0b29sdXRpbHMuc2V0dXBDb3BOZXRGb3JNYXAoa3dhcmdzPWt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9oZWxwIjogIkNyZWF0ZSBDT1AgdGV4dHVyZSBmb3IgdGhpcyBtYXAuIEhvbGQgQ3RybC9DbWQgdG8gc3RhcnQgYSBuZXcgY29wbmV0LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiTkVUV09SS1NfY29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6c2hlZW5fY29sb3JfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYXNzZXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWxlX2ltYWdlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGVlbl9jb2xvcl9maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6c2hlZW5fY29sb3JfZmlsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInNoZWVuX2NvbG9yX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGVlbl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnNoZWVuJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic2hlZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGVlbl9yb3VnaG5lc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAwLjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHNoZWVuX3JvdWdobmVzc19jb250cm9sID09IGJsb2NrIH0geyBzaGVlbl9yb3VnaG5lc3NfY29udHJvbCA9PSBub25lIH0geyBzaGVlbl9yb3VnaG5lc3NfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNoZWVuIFJvdWdobmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnNoZWVuX3JvdWdobmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hlZW5fcm91Z2huZXNzX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6c2hlZW5fcm91Z2huZXNzJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic2hlZW5fcm91Z2huZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hlZW5fcm91Z2huZXNzX2ZpbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHNoZWVuX3JvdWdobmVzc19maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHNoZWVuX3JvdWdobmVzc19maWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgc2hlZW5fcm91Z2huZXNzX2ZpbGVfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvdWdobmVzcyBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpzaGVlbl9yb3VnaG5lc3NfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYXNzZXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmaWxlX2ltYWdlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGVlbl9yb3VnaG5lc3NfZmlsZV9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnYXNzZXQnLCAnaW5wdXRzOnNoZWVuX3JvdWdobmVzc19maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAic2hlZW5fcm91Z2huZXNzX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMF81IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29hdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvYXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IGNvYXRfY29udHJvbCA9PSBibG9jayB9IHsgY29hdF9jb250cm9sID09IG5vbmUgfSB7IGNvYXRfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNvYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZ2xfY29hdF9pbnRlbnNpdHkiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpjb2F0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2F0X2NvbG9yIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgY29hdF9jb2xvcl9jb250cm9sID09IGJsb2NrIH0geyBjb2F0X2NvbG9yX2NvbnRyb2wgPT0gbm9uZSB9IHsgY29hdF9jb2xvcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpjb2F0X2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJjb2xvcjNmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvYXRfY29sb3JfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2NvbG9yM2YnLCAnaW5wdXRzOmNvYXRfY29sb3InLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJjb2F0X2NvbG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29hdF9jb2xvcl9maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBjb2F0X2NvbG9yX2ZpbGVfY29udHJvbCA9PSBibG9jayB9IHsgY29hdF9jb2xvcl9maWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgY29hdF9jb2xvcl9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpjb2F0X2NvbG9yX2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImFzc2V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmlsZV9pbWFnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29hdF9jb2xvcl9maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6Y29hdF9jb2xvcl9maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiY29hdF9jb2xvcl9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29hdF9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOmNvYXQnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJjb2F0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29hdF9yb3VnaG5lc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAwLjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IGNvYXRfcm91Z2huZXNzX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGNvYXRfcm91Z2huZXNzX2NvbnRyb2wgPT0gbm9uZSB9IHsgY29hdF9yb3VnaG5lc3NfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvdWdobmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9nbF9jb2F0X3JvdWdoIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6Y29hdF9yb3VnaG5lc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvYXRfcm91Z2huZXNzX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6Y29hdF9yb3VnaG5lc3MnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJjb2F0X3JvdWdobmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvYXRfcm91Z2huZXNzX2ZpbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IGNvYXRfcm91Z2huZXNzX2ZpbGVfY29udHJvbCA9PSBibG9jayB9IHsgY29hdF9yb3VnaG5lc3NfZmlsZV9jb250cm9sID09IG5vbmUgfSB7IGNvYXRfcm91Z2huZXNzX2ZpbGVfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvdWdobmVzcyBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpjb2F0X3JvdWdobmVzc19maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvYXRfcm91Z2huZXNzX2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Fzc2V0JywgJ2lucHV0czpjb2F0X3JvdWdobmVzc19maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiY29hdF9yb3VnaG5lc3NfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIwXzYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUaGluIEZpbG0iLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGluX2ZpbG1fSU9SIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMS41LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB0aGluX2ZpbG1fSU9SX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRoaW5fZmlsbV9JT1JfY29udHJvbCA9PSBub25lIH0geyB0aGluX2ZpbG1fSU9SX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUaGluIEZpbG0gSU9SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dGhpbl9maWxtX0lPUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl9maWxtX0lPUl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnRoaW5fZmlsbV9JT1InLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0aGluX2ZpbG1fSU9SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl9maWxtX3RoaWNrbmVzcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgdGhpbl9maWxtX3RoaWNrbmVzc19jb250cm9sID09IGJsb2NrIH0geyB0aGluX2ZpbG1fdGhpY2tuZXNzX2NvbnRyb2wgPT0gbm9uZSB9IHsgdGhpbl9maWxtX3RoaWNrbmVzc19jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGhpY2tuZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMjAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dGhpbl9maWxtX3RoaWNrbmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl9maWxtX3RoaWNrbmVzc19jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOnRoaW5fZmlsbV90aGlja25lc3MnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0aGluX2ZpbG1fdGhpY2tuZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl9maWxtX3RoaWNrbmVzc19maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBidW1wX3N0eWxlICE9IDEgfSB7IHRoaW5fZmlsbV90aGlja25lc3NfZmlsZV9jb250cm9sID09IGJsb2NrIH0geyB0aGluX2ZpbG1fdGhpY2tuZXNzX2ZpbGVfY29udHJvbCA9PSBub25lIH0geyB0aGluX2ZpbG1fdGhpY2tuZXNzX2ZpbGVfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRoaWNrbmVzcyBGaWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ19yZXBsYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHRvb2x1dGlscztsb3B0b29sdXRpbHMuc2V0dXBDb3BOZXRGb3JNYXAoa3dhcmdzPWt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9oZWxwIjogIkNyZWF0ZSBDT1AgdGV4dHVyZSBmb3IgdGhpcyBtYXAuIEhvbGQgQ3RybC9DbWQgdG8gc3RhcnQgYSBuZXcgY29wbmV0LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiTkVUV09SS1NfY29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dGhpbl9maWxtX3RoaWNrbmVzc19maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaW5fZmlsbV90aGlja25lc3NfZmlsZV9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBidW1wX3N0eWxlICE9IDEgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6dGhpbl9maWxtX3RoaWNrbmVzc19maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAidGhpbl9maWxtX3RoaWNrbmVzc19maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl9maWxtX3RoaWNrbmVzc19wcmltdmFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB0aGluX2ZpbG1fdGhpY2tuZXNzX3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgdGhpbl9maWxtX3RoaWNrbmVzc19wcmltdmFyX2NvbnRyb2wgPT0gbm9uZSB9IHsgdGhpbl9maWxtX3RoaWNrbmVzc19wcmltdmFyX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUaGlja25lc3MgUHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtdW5pZm9ybSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dGhpbl9maWxtX3RoaWNrbmVzc19wcmltdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaW5fZmlsbV90aGlja25lc3NfcHJpbXZhcl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnc3RyaW5nJywgJ2lucHV0czp0aGluX2ZpbG1fdGhpY2tuZXNzX3ByaW12YXInLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0aGluX2ZpbG1fdGhpY2tuZXNzX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMF83IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRW1pc3Npb24iLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbWlzc2lvbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgZW1pc3Npb25fY29udHJvbCA9PSBibG9jayB9IHsgZW1pc3Npb25fY29udHJvbCA9PSBub25lIH0geyBlbWlzc2lvbl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRW1pc3Npb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZ2xfZW1pdF9pbnRlbnNpdHkiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czplbWlzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW1pc3Npb25fY29sb3IiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBlbWlzc2lvbl9jb2xvcl9jb250cm9sID09IGJsb2NrIH0geyBlbWlzc2lvbl9jb2xvcl9jb250cm9sID09IG5vbmUgfSB7IGVtaXNzaW9uX2NvbG9yX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9nbF9lbWl0IjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6ZW1pc3Npb25fY29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImNvbG9yM2YiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJjb2xvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW1pc3Npb25fY29sb3JfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2NvbG9yM2YnLCAnaW5wdXRzOmVtaXNzaW9uX2NvbG9yJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiZW1pc3Npb25fY29sb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbWlzc2lvbl9jb2xvcl9maWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBlbWlzc2lvbl9jb2xvcl9maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGVtaXNzaW9uX2NvbG9yX2ZpbGVfY29udHJvbCA9PSBub25lIH0geyBlbWlzc2lvbl9jb2xvcl9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2xvciBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czplbWlzc2lvbl9jb2xvcl9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImVtaXNzaW9uX2NvbG9yX2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Fzc2V0JywgJ2lucHV0czplbWlzc2lvbl9jb2xvcl9maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiZW1pc3Npb25fY29sb3JfZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImVtaXNzaW9uX2NvbG9yX3ByaW12YXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IGVtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgZW1pc3Npb25fY29sb3JfcHJpbXZhcl9jb250cm9sID09IG5vbmUgfSB7IGVtaXNzaW9uX2NvbG9yX3ByaW12YXJfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNvbG9yIFByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybXVuaWZvcm0iOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOmVtaXNzaW9uX2NvbG9yX3ByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW1pc3Npb25fY29sb3JfcHJpbXZhcl9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnc3RyaW5nJywgJ2lucHV0czplbWlzc2lvbl9jb2xvcl9wcmltdmFyJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiZW1pc3Npb25fY29sb3JfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImVtaXNzaW9uX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6ZW1pc3Npb24nLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJlbWlzc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIwXzgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJHZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wYWNpdHkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBvcGFjaXR5X2NvbnRyb2wgPT0gYmxvY2sgfSB7IG9wYWNpdHlfY29udHJvbCA9PSBub25lIH0geyBvcGFjaXR5X2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPcGFjaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6b3BhY2l0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiY29sb3IzZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNvbG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGFjaXR5X2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdjb2xvcjNmJywgJ2lucHV0czpvcGFjaXR5JywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAib3BhY2l0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wYWNpdHlfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgb3BhY2l0eV9maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IG9wYWNpdHlfZmlsZV9jb250cm9sID09IG5vbmUgfSB7IG9wYWNpdHlfZmlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiT3BhY2l0eSBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpvcGFjaXR5X2ZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImFzc2V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmlsZV9pbWFnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BhY2l0eV9maWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdhc3NldCcsICdpbnB1dHM6b3BhY2l0eV9maWxlJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAib3BhY2l0eV9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BhY2l0eV9wcmltdmFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBvcGFjaXR5X3ByaW12YXJfY29udHJvbCA9PSBibG9jayB9IHsgb3BhY2l0eV9wcmltdmFyX2NvbnRyb2wgPT0gbm9uZSB9IHsgb3BhY2l0eV9wcmltdmFyX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPcGFjaXR5IFByaW12YXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybXVuaWZvcm0iOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOm9wYWNpdHlfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGFjaXR5X3ByaW12YXJfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ3N0cmluZycsICdpbnB1dHM6b3BhY2l0eV9wcmltdmFyJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAib3BhY2l0eV9wcmltdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl93YWxsZWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZSI6ICJoc2NyaXB0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHRoaW5fd2FsbGVkX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRoaW5fd2FsbGVkX2NvbnRyb2wgPT0gbm9uZSB9IHsgdGhpbl93YWxsZWRfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRoaW4gV2FsbGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dGhpbl93YWxsZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImludCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpbl93YWxsZWRfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2ludCcsICdpbnB1dHM6dGhpbl93YWxsZWQnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0aGluX3dhbGxlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6aGVhZGVyX3Bhcm0iOiAidGhpbl93YWxsZWQiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIwXzkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXBzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsdGVydHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBmaWx0ZXJ0eXBlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGZpbHRlcnR5cGVfY29udHJvbCA9PSBub25lIH0geyBmaWx0ZXJ0eXBlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbWFnZSBGaWx0ZXIgVHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJjbG9zZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJjbG9zZXN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJsaW5lYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJjdWJpYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiY3ViaWMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6ZmlsdGVydHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaWx0ZXJ0eXBlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdzdHJpbmcnLCAnaW5wdXRzOmZpbHRlcnR5cGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJmaWx0ZXJ0eXBlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvamVjdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgcHJvamVjdGlvbl9jb250cm9sID09IGJsb2NrIH0geyBwcm9qZWN0aW9uX2NvbnRyb2wgPT0gbm9uZSB9IHsgcHJvamVjdGlvbl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUHJvamVjdGlvbiBUeXBlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlVWIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVHJpLVBsYW5hciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpwcm9qZWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInByb2plY3Rpb25fY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czpwcm9qZWN0aW9uJywgVHJ1ZSwgRmFsc2UpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAicHJvamVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyaXBsYW5hcl9ibGVuZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDAuMjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHByb2plY3Rpb24gIT0gMSB9IHsgdHJpcGxhbmFyX2JsZW5kX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRyaXBsYW5hcl9ibGVuZF9jb250cm9sID09IG5vbmUgfSB7IHRyaXBsYW5hcl9ibGVuZF9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVHJpLVBsYW5hciBCbGVuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnRyaXBsYW5hcl9ibGVuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHJpcGxhbmFyX2JsZW5kX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHByb2plY3Rpb24gIT0gMSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0JywgJ2lucHV0czp0cmlwbGFuYXJfYmxlbmQnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ0cmlwbGFuYXJfYmxlbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmlwbGFuYXJfdXBheGlzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgcHJvamVjdGlvbiAhPSAxIH0geyB0cmlwbGFuYXJfdXBheGlzX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRyaXBsYW5hcl91cGF4aXNfY29udHJvbCA9PSBub25lIH0geyB0cmlwbGFuYXJfdXBheGlzX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUcmktUGxhbmFyIFVwIEF4aXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJaIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZW5hbWUiOiAiaW5wdXRzOnRyaXBsYW5hcl91cGF4aXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHJpcGxhbmFyX3VwYXhpc19jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBwcm9qZWN0aW9uICE9IDEgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6dHJpcGxhbmFyX3VwYXhpcycsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInRyaXBsYW5hcl91cGF4aXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1dl9vZmZzZXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHByb2plY3Rpb24gIT0gMCB9IHsgdXZfb2Zmc2V0X2NvbnRyb2wgPT0gYmxvY2sgfSB7IHV2X29mZnNldF9jb250cm9sID09IG5vbmUgfSB7IHV2X29mZnNldF9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVVYgT2Zmc2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVtX2NvbXBvbmVudHMiOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czp1dl9vZmZzZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1dl9vZmZzZXRfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgcHJvamVjdGlvbiAhPSAwIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQyJywgJ2lucHV0czp1dl9vZmZzZXQnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ1dl9vZmZzZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1dl9wcmltdmFyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogInN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgdXZfcHJpbXZhcl9jb250cm9sID09IGJsb2NrIH0geyB1dl9wcmltdmFyX2NvbnRyb2wgPT0gbm9uZSB9IHsgdXZfcHJpbXZhcl9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVVYgUHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtdW5pZm9ybSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dXZfcHJpbXZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1dl9wcmltdmFyX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdzdHJpbmcnLCAnaW5wdXRzOnV2X3ByaW12YXInLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ1dl9wcmltdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXZfc2NhbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBwcm9qZWN0aW9uICE9IDAgfSB7IHV2X3NjYWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHV2X3NjYWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgdXZfc2NhbGVfY29udHJvbCA9PSBkaXNjb25uZWN0aW5wdXQgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlVWIFNjYWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVtX2NvbXBvbmVudHMiOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czp1dl9zY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInV2X3NjYWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHByb2plY3Rpb24gIT0gMCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoXG4gICAgICAgICAgIGt3YXJncywgJ2Zsb2F0MicsICdpbnB1dHM6dXZfc2NhbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJ1dl9zY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb2xkZXIzXzEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJCdW1wIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVtcF9oZWlnaHRfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYnVtcF9zdHlsZSAhPSAwIH0geyBidW1wX2hlaWdodF9maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGJ1bXBfaGVpZ2h0X2ZpbGVfY29udHJvbCA9PSBub25lIH0geyBidW1wX2hlaWdodF9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJCdW1wIEhlaWdodCBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpidW1wX2hlaWdodF9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1bXBfaGVpZ2h0X2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYnVtcF9zdHlsZSAhPSAwIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnYXNzZXQnLCAnaW5wdXRzOmJ1bXBfaGVpZ2h0X2ZpbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJidW1wX2hlaWdodF9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVtcF9ub3JtYWxfZmlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYnVtcF9zdHlsZSAhPSAxIH0geyBidW1wX25vcm1hbF9maWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGJ1bXBfbm9ybWFsX2ZpbGVfY29udHJvbCA9PSBub25lIH0geyBidW1wX25vcm1hbF9maWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJCdW1wIE5vcm1hbCBNYXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAic3RyaW5nX3JlcGxhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wdG9vbHV0aWxzO2xvcHRvb2x1dGlscy5zZXR1cENvcE5ldEZvck1hcChrd2FyZ3M9a3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiQ3JlYXRlIENPUCB0ZXh0dXJlIGZvciB0aGlzIG1hcC4gSG9sZCBDdHJsL0NtZCB0byBzdGFydCBhIG5ldyBjb3BuZXQuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJORVRXT1JLU19jb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWVuYW1lIjogImlucHV0czpidW1wX25vcm1hbF9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJhc3NldCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZpbGVfaW1hZ2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1bXBfbm9ybWFsX2ZpbGVfY29udHJvbCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYnVtcF9zdHlsZSAhPSAxIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnYXNzZXQnLCAnaW5wdXRzOmJ1bXBfbm9ybWFsX2ZpbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJidW1wX25vcm1hbF9maWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVtcF9zY2FsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDAuMDI1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBidW1wX3NjYWxlX2NvbnRyb2wgPT0gYmxvY2sgfSB7IGJ1bXBfc2NhbGVfY29udHJvbCA9PSBub25lIH0geyBidW1wX3NjYWxlX2NvbnRyb2wgPT0gZGlzY29ubmVjdGlucHV0IH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJCdW1wIFNjYWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6YnVtcF9zY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVtcF9zY2FsZV9jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShcbiAgICAgICAgICAga3dhcmdzLCAnZmxvYXQnLCAnaW5wdXRzOmJ1bXBfc2NhbGUnLCBUcnVlLCBGYWxzZSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJidW1wX3NjYWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVtcF9zdHlsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgYnVtcF9zdHlsZV9jb250cm9sID09IGJsb2NrIH0geyBidW1wX3N0eWxlX2NvbnRyb2wgPT0gbm9uZSB9IHsgYnVtcF9zdHlsZV9jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQnVtcCBTdHlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJIZWlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOb3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6YnVtcF9zdHlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidW1wX3N0eWxlX2NvbnRyb2wiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdmbG9hdCcsICdpbnB1dHM6YnVtcF9zdHlsZScsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogImJ1bXBfc3R5bGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cnVlX2Rpc3BsYWNlbWVudHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZSI6ICJoc2NyaXB0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IGJ1bXBfc3R5bGUgIT0gMCB9IHsgdHJ1ZV9kaXNwbGFjZW1lbnRzX2NvbnRyb2wgPT0gYmxvY2sgfSB7IHRydWVfZGlzcGxhY2VtZW50c19jb250cm9sID09IG5vbmUgfSB7IHRydWVfZGlzcGxhY2VtZW50c19jb250cm9sID09IGRpc2Nvbm5lY3RpbnB1dCB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVHJ1ZSBEaXNwbGFjZW1lbnRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJpbnB1dHM6dHJ1ZV9kaXNwbGFjZW1lbnRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJpbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRydWVfZGlzcGxhY2VtZW50c19jb250cm9sIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyBidW1wX3N0eWxlICE9IDAgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KFxuICAgICAgICAgICBrd2FyZ3MsICdpbnQnLCAnaW5wdXRzOnRydWVfZGlzcGxhY2VtZW50cycsIFRydWUsIEZhbHNlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInRydWVfZGlzcGxhY2VtZW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4wMSwKICAgICAgICAgICAgMS4yMwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZWRpdG1hdGVyaWFscHJvcGVydGllcyIKICAgIH0sCiAgICAic29sYXJfcGFuZWwiOiB7CiAgICAgICAgImVkaXRhYmxlcyI6IHsKICAgICAgICAgICAgInNvcG5ldC9jcmVhdGUiOiB7CiAgICAgICAgICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgImNpcmNsZTEwIjogewogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NhbGUiOiAzLjcyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS45NjA0NzM1Mzc0NDUwNjg0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVyYnMiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuMzQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQ5CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImNpcmNsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJjaXJjbGU5IjogewogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJudXJicyIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMi40NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNTgKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY2lyY2xlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImNvbnZlcnQyIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogInNraW4zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9kdSI6IDAuNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2R2IjogMQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjM1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDgKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29udmVydCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJmb3JlYWNoX2JlZ2luM19tZXRhZGF0YTIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxvY2twYXRoIjogIi4uL2ZvcmVhY2hfZW5kNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kIjogIm1ldGFkYXRhIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTMuODEKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYmxvY2tfYmVnaW4iCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9yZWFjaF9iZWdpbjQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImNvbnZlcnQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxvY2twYXRoIjogIi4uL2ZvcmVhY2hfZW5kNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kIjogInBpZWNlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjM1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTMuODMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYmxvY2tfYmVnaW4iCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9yZWFjaF9lbmQ0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJ0cmFuc2Zvcm04IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxvY2twYXRoIjogIi4uL2ZvcmVhY2hfYmVnaW40IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzcyI6ICJwcmltaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZXJtZXRob2QiOiAicGllY2VzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2QiOiAibWVyZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlcGF0aCI6ICIuLi9mb3JlYWNoX2JlZ2luNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNlYXR0cmliIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4zNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC02CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJsb2NrX2VuZCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtZXJnZTMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiY2lyY2xlOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiY2lyY2xlMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC40NQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtZXJnZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJwb2x5ZXh0cnVkZTkiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiZm9yZWFjaF9lbmQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdCI6IDAuMDA1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm91dHB1dGJhY2siOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC03LjUKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicG9seWV4dHJ1ZGU6OjIuMCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJza2luMyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtZXJnZTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMS40OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJza2luIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInRyYW5zZm9ybTgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiZm9yZWFjaF9iZWdpbjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiJENFWCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiJENFWSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiJENFWiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJyYW5kKGRldGFpbChcIi4uL2ZvcmVhY2hfYmVnaW4zX21ldGFkYXRhMlwiLCBcIml0ZXJhdGlvblwiLDApKSo1IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogInJhbmQoZGV0YWlsKFwiLi4vZm9yZWFjaF9iZWdpbjNfbWV0YWRhdGEyXCIsIFwiaXRlcmF0aW9uXCIsMCkpKjUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjM1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTQuODcKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAieGZvcm0iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldCIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjAyLAogICAgICAgICAgICAzLjI3CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzb3BjcmVhdGUiCiAgICB9Cn0=