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.

Basic Flip
Basic flip fluid setup of water flowing from a window. This example also show how to generate and control source fluid velocity.
May 25, 2026 | 20.5.613 | flip Cooked By: kif
ewogICAgIkdST1VORCI6IHsKICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgIDAuOTgsCiAgICAgICAgICAgIDAuNzgsCiAgICAgICAgICAgIDAuMjYKICAgICAgICBdLAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJib3gxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxMS4zMSwKICAgICAgICAgICAgLTguODMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm51bGwiCiAgICB9LAogICAgIlJPT01fV0FMTFMiOiB7CiAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAwLjk4LAogICAgICAgICAgICAwLjc4LAogICAgICAgICAgICAwLjI2CiAgICAgICAgXSwKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicG9seWV4dHJ1ZGUyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA4LjA4LAogICAgICAgICAgICAtOC44MwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiV0FURVJfT1VUIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMSwKICAgICAgICAgICAgMC43MywKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImZsdWlkX21lc2giLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDcuOTgsCiAgICAgICAgICAgIC0yNS44NQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiV0FURVJfU1JDIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC45OCwKICAgICAgICAgICAgMC43OCwKICAgICAgICAgICAgMC4yNgogICAgICAgIF0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImF0dHJpYmFkanVzdHZlY3RvcjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuMTEsCiAgICAgICAgICAgIC0xMy40OQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiX19jb29rYm9va01ldGEiOiB7CiAgICAgICAgImNvbnRleHQiOiAic29wIiwKICAgICAgICAidmVyc2lvbiI6ICIyMC41LjYxMyIKICAgIH0sCiAgICAiX19zdGlja3lub3RlMSI6IHsKICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgIDEsCiAgICAgICAgICAgIDAuOTcsCiAgICAgICAgICAgIDAuNTIKICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgLTMuODYsCiAgICAgICAgICAgIC02LjM1CiAgICAgICAgXSwKICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgMy40NCwKICAgICAgICAgICAgMC44NwogICAgICAgIF0sCiAgICAgICAgInRleHQiOiAiQWRqdXN0IHBhcnRpY2xlIHNlcGFyYXRpb24gb24gZmxpcHNvdXJjZTEgXHUwMDNlIiwKICAgICAgICAidGV4dF9jb2xvciI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiU3RpY2t5Tm90ZSIKICAgIH0sCiAgICAiX19zdGlja3lub3RlMiI6IHsKICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgIDEsCiAgICAgICAgICAgIDAuOTcsCiAgICAgICAgICAgIDAuNTIKICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgLTMuNzQsCiAgICAgICAgICAgIC0xMC4yMQogICAgICAgIF0sCiAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgIDMuNDQsCiAgICAgICAgICAgIDAuODcKICAgICAgICBdLAogICAgICAgICJ0ZXh0IjogIkFkanVzdCB2ZWxvY2l0eSBoZXJlICBcdTAwM2UiLAogICAgICAgICJ0ZXh0X2NvbG9yIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJTdGlja3lOb3RlIgogICAgfSwKICAgICJhdHRyaWJhZGp1c3R2ZWN0b3IxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNldF92ZWxvY2l0eSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpcmxlbl9hbXBsaXR1ZGUiOiA0LAogICAgICAgICAgICAiZGlybGVuX25vaXNlcmFuZ2UiOiAiemNlbnRlcmVkIiwKICAgICAgICAgICAgImRpcmxlbl92YWx1ZXR5cGUiOiAicmFuZCIsCiAgICAgICAgICAgICJyYW5kb21zZWVkIjogMjMKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4xMSwKICAgICAgICAgICAgLTExLjgyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJhZGp1c3R2ZWN0b3IiCiAgICB9LAogICAgImJsYXN0MSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJoaWdobGlnaHQiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwb2x5ZXh0cnVkZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJncm91cCI6ICIwLTgwIiwKICAgICAgICAgICAgImdyb3VwdHlwZSI6ICJwcmltcyIsCiAgICAgICAgICAgICJyZW1vdmVncnAiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDguMDgsCiAgICAgICAgICAgIC01LjY5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJibGFzdCIKICAgIH0sCiAgICAiYm94MSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJkaXZyYXRlIjogWwogICAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICAgICAyCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgNS42NjI0OTM3MDU3NDk1MTIsCiAgICAgICAgICAgICAgICAwLjQ3NDIzMDQwODY2ODUxODA3LAogICAgICAgICAgICAgICAgNy44MDEzMDI5MDk4NTEwNzQKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgLTAuNDM3MDE3MzY2MjkwMDkyNDcsCiAgICAgICAgICAgICAgICAzLjQwMDY1MTQ1NDkyNTUzNwogICAgICAgICAgICBdLAogICAgICAgICAgICAidHlwZSI6ICJwb2x5bWVzaCIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMTEuMzEsCiAgICAgICAgICAgIC03LjE1CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJib3giCiAgICB9LAogICAgImRlbnNpdHlfY29udHJvbF9wb2ludCI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJyYWQiOiBbCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNjYWxlIjogMC4wNSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAtMC4wMDA2OTA3MDkxNjQ1Njk4ODMyLAogICAgICAgICAgICAgICAgMS4xNTQ5MzY1MTcyODg2ODUsCiAgICAgICAgICAgICAgICAwLjIxNjQ0NjQ0NjA0MDIxNjIzCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0eXBlIjogInBvbHltZXNoIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjYzLAogICAgICAgICAgICAtOC42MQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAic3BoZXJlIgogICAgfSwKICAgICJkaXJlY3Rpb25fY29udHJvbF9wb2ludCI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJyYWQiOiBbCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNjYWxlIjogMC4wNSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAwLjA3NDMwNzY4MDEzMDAwNDg4LAogICAgICAgICAgICAgICAgMC42MzQ1MzE0NTU5OTE4ODQ3LAogICAgICAgICAgICAgICAgLTIuMTAyMzE0MTU1ODQxMTkzCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi42MywKICAgICAgICAgICAgLTcuNTQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInNwaGVyZSIKICAgIH0sCiAgICAiZmxpcHNpbSI6IHsKICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICJmbGlwb2JqZWN0MSI6IHsKICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiY3JlYXRlZnJhbWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImNoKFwiLi4vc3RhcnRmcmFtZVwiKSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJncmlkc2NhbGUiOiAxLAogICAgICAgICAgICAgICAgICAgICJndWlkZXZpc3JhbXAiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5OTk5OTk3NjE1ODE0MjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuODk5OTk5OTc2MTU4MTQyMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5OTk5OTk3NjE1ODE0MjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgInBhcnRpY2xlc2VwIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJjaChcIi4uLy4uL2ZsaXBzb3VyY2UxL3BhcnRpY2xlc2VwXCIpIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInJhZGl1c3NjYWxlIjogMC45LAogICAgICAgICAgICAgICAgICAgICJzb3BwYXRoIjogIiIsCiAgICAgICAgICAgICAgICAgICAgInZpc3ByaW0iOiAicGFydCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgLTIuOCwKICAgICAgICAgICAgICAgICAgICA0LjY4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiZmxpcG9iamVjdCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImZsaXBzb2x2ZXIxIjogewogICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogIm1lcmdlMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJwb3BmYW4xIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogInBvcHNvdXJjZTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDMKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICJkb2lkIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAiZW5hYmxlc3RpY2siOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJsaW1pdF9zaXplIjogWwogICAgICAgICAgICAgICAgICAgICAgICA2LjIzNDQ5NjU5MzQ3NTM0MiwKICAgICAgICAgICAgICAgICAgICAgICAgNC40NjEwMTY4OTMzODY4NDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDUuMzI1ODM5OTk2MzM3ODkxCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAibGltaXRfdCI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgMS44OTczNjM1NDM1MTA0MzcsCiAgICAgICAgICAgICAgICAgICAgICAgIDEuNTgzNzUyNjMyMTQxMTEzMwogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgIm9wZW5jbCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgInJlc2VlZCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJzdGlja3RhbmdlbnRzY2FsZSI6IDAuMgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAyLjI3LAogICAgICAgICAgICAgICAgICAgIDAuMwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogImZsaXBzb2x2ZXI6OjIuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImdyYXZpdHkxIjogewogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJmbGlwc29sdmVyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgMi4yNywKICAgICAgICAgICAgICAgICAgICAtMS4xNwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogImdyYXZpdHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtZXJnZTEiOiB7CiAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiZmxpcG9iamVjdDEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAic3RhdGljb2JqZWN0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgLTIuNSwKICAgICAgICAgICAgICAgICAgICAyLjYKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtZXJnZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm91dHB1dCI6IHsKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJncmF2aXR5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgMi4yNywKICAgICAgICAgICAgICAgICAgICAtMi42NwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogIm91dHB1dCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInBvcGZhbjEiOiB7CiAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgImJ5cGFzcyI6IHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRpciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgLTAuOTk5Nzk0ODgwODE5Njk3NSwKICAgICAgICAgICAgICAgICAgICAgICAgLTAuMDIwMjUzMzAzMTA2NTg1MDIsCiAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJsb2NhbGV4cHJlc3Npb24iOiAiLy8gUGFzcyBUaHJvdWdoXG4vLyBDZW50ZXI6XG50ID0gdDtcbi8vIENvbmUgYW5nbGU6XG5jb25lID0gY29uZTtcbmRpciA9IGRpcjtcbndpbmRzcGVlZCA9IGFicyhzaW4oQEZyYW1lKjAuMDUpKSo1O1xuYWlycmVzaXN0ID0gYWlycmVzaXN0O1xuXG4iLAogICAgICAgICAgICAgICAgICAgICJ0IjogWwogICAgICAgICAgICAgICAgICAgICAgICAxLjY3ODk1MjA2ODA5MDQzODgsCiAgICAgICAgICAgICAgICAgICAgICAgIDAuNDk2ODM1OTAyMzMzMjU5NiwKICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgInVzZWxvY2FsIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAid2luZHNwZWVkIjogNC41OAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAyLjEzLAogICAgICAgICAgICAgICAgICAgIDEuOTQKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJwb3BmYW4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwb3Bzb3VyY2UxIjogewogICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICJlbWl0dHlwZSI6ICJhbGxwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgInNvcHBhdGgiOiAiL29iai93YXRlci9GTElQX1NSQyIsCiAgICAgICAgICAgICAgICAgICAgInVzZWNvbnRleHRnZW8iOiAiZmlyc3QiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDQuNjMsCiAgICAgICAgICAgICAgICAgICAgMi4zMgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInBvcHNvdXJjZTo6Mi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAic3RhdGljb2JqZWN0MSI6IHsKICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAic29wcGF0aCI6ICJgb3BpbnB1dHBhdGgoXCIuLlwiLCAxKWAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDAuMDIsCiAgICAgICAgICAgICAgICAgICAgNC42OAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0YXRpY29iamVjdCIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiV0FURVJfU1JDIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibWVyZ2UyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDEKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibnVtb2JqIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJkYXRhbmFtZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJlbmFibGUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAib2JqbmFtZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIqIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA3Ljk4LAogICAgICAgICAgICAtMTcuNDEKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImRvcG5ldCIKICAgIH0sCiAgICAiZmxpcHNvdXJjZTEiOiB7CiAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAwLjk4LAogICAgICAgICAgICAwLjI4LAogICAgICAgICAgICAwLjI4CiAgICAgICAgXSwKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAidHJhbnNmb3JtMyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInBhcnRpY2xlc2VwIjogMC4wNCwKICAgICAgICAgICAgInZveGVsc2l6ZSI6IHsKICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImNoKFwicGFydGljbGVzZXBcIikiCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4xMSwKICAgICAgICAgICAgLTUuODQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImZsaXBzb3VyY2UiCiAgICB9LAogICAgImZsdWlkX21lc2giOiB7CiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwYXJ0aWNsZWZsdWlkc3VyZmFjZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJiYXNlbmFtZSI6ICJmbHVpZF9tZXNoIiwKICAgICAgICAgICAgImZyYW1lIjogewogICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAie1xuICAgIGlmKGNoKFwidGltZWRlcGVuZGVudFwiKSlcbiAgICB7XG4gICAgICAgIHJhd2ZyYW1lID0gJFQgKiAkRlBTICsgMTtcbiAgICAgICAgcmF3ZnJhbWUgLT0gY2goXCJmMVwiKTtcbiAgICAgICAgcmF3ZnJhbWUgKj0gY2goXCJzdWJzdGVwc1wiKSAvIGNoKFwiZjNcIik7XG4gICAgICAgIHJhd2ZyYW1lID0gcmludChyYXdmcmFtZSk7XG4gICAgICAgIHJhd2ZyYW1lIC89IGNoKFwic3Vic3RlcHNcIikgLyBjaChcImYzXCIpO1xuICAgICAgICByYXdmcmFtZSArPSBjaChcImYxXCIpO1xuICAgICAgICBpZihjaChcImRvY2xhbXBmaXJzdFwiKSBcdTAwMjZcdTAwMjYgY2goXCJkb2NsYW1wbGFzdFwiKSkgcmV0dXJuIGNsYW1wKHJhd2ZyYW1lLGNoKFwiY2xhbXBmaXJzdFwiKSxjaChcImNsYW1wbGFzdFwiKSk7XG4gICAgICAgIGlmKGNoKFwiZG9jbGFtcGZpcnN0XCIpKSByZXR1cm4gbWF4KGNoKFwiY2xhbXBmaXJzdFwiKSxyYXdmcmFtZSk7XG4gICAgICAgIGlmKGNoKFwiZG9jbGFtcGxhc3RcIikpIHJldHVybiBtaW4oY2goXCJjbGFtcGxhc3RcIikscmF3ZnJhbWUpO1xuICAgICAgICByZXR1cm4gcmF3ZnJhbWU7XG4gICAgfVxuICAgIGVsc2VcbiAgICB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbn0iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJsb2FkZnJvbWRpc2siOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDcuOTgsCiAgICAgICAgICAgIC0yNC4zNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZmlsZWNhY2hlOjoyLjAiCiAgICB9LAogICAgImZsdWlkX3BhcnRpY2xlcyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJmbHVpZGNvbXByZXNzMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImJhc2VuYW1lIjogImZsdWlkIiwKICAgICAgICAgICAgImZyYW1lIjogewogICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAie1xuICAgIGlmKGNoKFwidGltZWRlcGVuZGVudFwiKSlcbiAgICB7XG4gICAgICAgIHJhd2ZyYW1lID0gJFQgKiAkRlBTICsgMTtcbiAgICAgICAgcmF3ZnJhbWUgLT0gY2goXCJmMVwiKTtcbiAgICAgICAgcmF3ZnJhbWUgKj0gY2goXCJzdWJzdGVwc1wiKSAvIGNoKFwiZjNcIik7XG4gICAgICAgIHJhd2ZyYW1lID0gcmludChyYXdmcmFtZSk7XG4gICAgICAgIHJhd2ZyYW1lIC89IGNoKFwic3Vic3RlcHNcIikgLyBjaChcImYzXCIpO1xuICAgICAgICByYXdmcmFtZSArPSBjaChcImYxXCIpO1xuICAgICAgICBpZihjaChcImRvY2xhbXBmaXJzdFwiKSBcdTAwMjZcdTAwMjYgY2goXCJkb2NsYW1wbGFzdFwiKSkgcmV0dXJuIGNsYW1wKHJhd2ZyYW1lLGNoKFwiY2xhbXBmaXJzdFwiKSxjaChcImNsYW1wbGFzdFwiKSk7XG4gICAgICAgIGlmKGNoKFwiZG9jbGFtcGZpcnN0XCIpKSByZXR1cm4gbWF4KGNoKFwiY2xhbXBmaXJzdFwiKSxyYXdmcmFtZSk7XG4gICAgICAgIGlmKGNoKFwiZG9jbGFtcGxhc3RcIikpIHJldHVybiBtaW4oY2goXCJjbGFtcGxhc3RcIikscmF3ZnJhbWUpO1xuICAgICAgICByZXR1cm4gcmF3ZnJhbWU7XG4gICAgfVxuICAgIGVsc2VcbiAgICB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbn0iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJsb2FkZnJvbWRpc2siOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDcuOTgsCiAgICAgICAgICAgIC0yMS41OQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZmlsZWNhY2hlOjoyLjAiCiAgICB9LAogICAgImZsdWlkY29tcHJlc3MxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZpc3VhbGl6ZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwYXJ0aWNsZXNlcCI6IHsKICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImNoKFwiLi4vZmxpcHNpbS9mbGlwb2JqZWN0MS9wYXJ0aWNsZXNlcFwiKSIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA3Ljk4LAogICAgICAgICAgICAtMTkuOTcKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImZsdWlkY29tcHJlc3MiLAogICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICJ3aXJlc3R5bGUiOiAicm91bmRlZCIKICAgICAgICB9CiAgICB9LAogICAgImdyaWQxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICA5MCwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgMS40NzY5LAogICAgICAgICAgICAgICAgMS4yCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0IjogWwogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIDAuOTk2MDMyNjk5OTQyNTg4OCwKICAgICAgICAgICAgICAgIC0wLjAxNDAxMzg2NDA5OTk3OTQKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJncmlkIgogICAgfSwKICAgICJtZXJnZTIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiUk9PTV9XQUxMUyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIkdST1VORCIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgOC4wOCwKICAgICAgICAgICAgLTExLjI2CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJtZXJnZSIKICAgIH0sCiAgICAicGFydGljbGVmbHVpZHN1cmZhY2UxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImZsdWlkX3BhcnRpY2xlcyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImluZmx1ZW5jZXJhZGl1cyI6IDEuNSwKICAgICAgICAgICAgIm1hc2t2aXNyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDAuMiwKICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjI1LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgMC44NSwKICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjUsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAwLjEwMDAwMDAwMTQ5MDExNjEyCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNzUsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAwLjk1LAogICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAicGFydGljbGVzZXAiOiB7CiAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJjaChcIi4uL2ZsaXBzb3VyY2UxL3BhcnRpY2xlc2VwXCIpIgogICAgICAgICAgICB9LAogICAgICAgICAgICAic3VyZmFjZWRpc3RhbmNlIjogMC41LAogICAgICAgICAgICAidmVsdmlzcmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAwLjg5OTk5OTk3NjE1ODE0MjEKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41MDU3OTE0ODUzMDk2MDA4LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgMC45LAogICAgICAgICAgICAgICAgICAgICAgICAwLjkKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ2b3J0aWNpdHl2aXNyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDAuODk5OTk5OTc2MTU4MTQyMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjUsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAwLjg5OTk5OTk3NjE1ODE0MjEsCiAgICAgICAgICAgICAgICAgICAgICAgIDAuODk5OTk5OTc2MTU4MTQyMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA3Ljk4LAogICAgICAgICAgICAtMjMuMDkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInBhcnRpY2xlZmx1aWRzdXJmYWNlOjozLjAiLAogICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICJ3aXJlc3R5bGUiOiAicm91bmRlZCIKICAgICAgICB9CiAgICB9LAogICAgInBvbHlleHRydWRlMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJncmlkMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpc3QiOiAtMC42MDYsCiAgICAgICAgICAgICJvdXRwdXRiYWNrIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA4LjA4LAogICAgICAgICAgICAtNC4zMwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicG9seWV4dHJ1ZGU6OjIuMCIKICAgIH0sCiAgICAicG9seWV4dHJ1ZGUyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImJsYXN0MSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpc3QiOiAtMC4zMTg3NjgzNjUzODMxNDgxLAogICAgICAgICAgICAib3V0cHV0YmFjayI6IHRydWUKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgOC4wOCwKICAgICAgICAgICAgLTYuOTIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInBvbHlleHRydWRlOjoyLjAiCiAgICB9LAogICAgInBvbHlleHRydWRlMyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJncmlkMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpc3QiOiAtMC40NTYsCiAgICAgICAgICAgICJvdXRwdXRiYWNrIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjE4LAogICAgICAgICAgICAtMi45OQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicG9seWV4dHJ1ZGU6OjIuMCIKICAgIH0sCiAgICAic2V0X3ZlbG9jaXR5IjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC4wOSwKICAgICAgICAgICAgMC4zNywKICAgICAgICAgICAgMC42OQogICAgICAgIF0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImZsaXBzb3VyY2UxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiZGlyZWN0aW9uX2NvbnRyb2xfcG9pbnQiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJkZW5zaXR5X2NvbnRyb2xfcG9pbnQiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJtYWciOiAxMCwKICAgICAgICAgICAgInNoYXJwIjogMC44LAogICAgICAgICAgICAic25pcHBldCI6ICJ2ZWN0b3Igc3BoZXJlUG9zID0gcG9pbnQoMSxcIlBcIiwwKTtcbnZlY3RvciBzcGhlcmVQb3MyID0gcG9pbnQoMixcIlBcIiwwKTtcblxuZmxvYXQgZCA9IDEuMCAtIG1pbigxLjAsIGNoZihcInNoYXJwXCIpKmxlbmd0aCh2QFAgLSBzcGhlcmVQb3MyKSk7XG5cbnZlY3RvciBkaXIgPSBub3JtYWxpemUoc3BoZXJlUG9zIC0gdkBQKTtcbmRpciA9IGN1cmxub2lzZSgzLjAqdkBQKzEuMCk7XG5kaXIueiA9IC0xOyBcblxuZGlyID0gbm9ybWFsaXplKGRpcik7XG5cblxuXG52QHYgPSBjaGYoXCJtYWdcIikgKiBkICogLWRpcjtcblxuIgogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAidmV4X3RocmVhZGpvYnNpemUiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZvbGRlcl9nZW5lcmF0ZWRwYXJtc19zbmlwcGV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiR2VuZXJhdGVkIENoYW5uZWwgUGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1hZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWFnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFycCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2hhcnAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAic2ltcGxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9zaW1wbGUiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuMTUsCiAgICAgICAgICAgIC05LjgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgInRyYW5zZm9ybTMiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicG9seWV4dHJ1ZGUzIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAidCI6IFsKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgLTAuMTE0CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4xOCwKICAgICAgICAgICAgLTMuOTkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInhmb3JtIgogICAgfSwKICAgICJ2aXN1YWxpemUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImZsaXBzaW0iLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJudW1fdmlzdWFsaXplcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInZpc19hY3RpdmUjIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAidmlzX2RhdGEjIjogIntcblx0XCJmbGFnc1wiOntcblx0XHRcInR5cGVcIjpcImludFwiLFxuXHRcdFwidmFsdWVcIjoyN1xuXHR9LFxuXHRcImljb25cIjp7XG5cdFx0XCJ0eXBlXCI6XCJzdHJpbmdcIixcblx0XHRcInZhbHVlXCI6XCJWSUVXX3Zpc3VhbGl6YXRpb25fY29sb3JcIlxuXHR9LFxuXHRcImxhYmVsXCI6e1xuXHRcdFwidHlwZVwiOlwic3RyaW5nXCIsXG5cdFx0XCJ2YWx1ZVwiOlwiQ29sb3IgMVwiXG5cdH0sXG5cdFwibmFtZVwiOntcblx0XHRcInR5cGVcIjpcInN0cmluZ1wiLFxuXHRcdFwidmFsdWVcIjpcInZpc19jb2xvcl8xXCJcblx0fSxcblx0XCJwYXJhbWV0ZXJzXCI6e1xuXHRcdFwidHlwZVwiOlwic3RyaW5nXCIsXG5cdFx0XCJ2YWx1ZVwiOlwie1xcbnZlcnNpb24gMC44XFxuY29sb3J0eXBlXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdFxcXCJhdHRyaWJyYW1wZWRcXFwiXFx0KVxcbmNsYXNzXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdFxcXCJhdXRvXFxcIlxcdClcXG5hdHRyaWJcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0dlxcdClcXG51dmF0dHJpYlxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHR1dlxcdClcXG5kaXN0b3J0aW9udHlwZVxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHRcXFwiZ2xvYmFsXFxcIlxcdClcXG5yYW5nZXNlY3Rpb25cXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdClcXG5yYW5nZXNwZWNcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcIm1pbi1tYXhcXFwiXFx0KVxcbm1pbnNjYWxhclxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQwXFx0KVxcbm1heHNjYWxhclxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQxMFxcdClcXG5jZW50ZXJzY2FsYXJcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdClcXG53aWR0aHNjYWxhclxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQyXFx0KVxcbmNsYW1wdHlwZVxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHRcXFwiZWRnZVxcXCJcXHQpXFxuY29uc3Rjb2xvclxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQxXFx0MFxcdDBcXHQxXFx0KVxcbnVzZXRocmVldnR4Y29sb3JcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcIm9uXFxcIlxcdClcXG5jb2xvcnRocmVldnR4XFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDFcXHQxXFx0MFxcdClcXG51c2Vmb3VydnR4Y29sb3JcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcIm9uXFxcIlxcdClcXG5jb2xvcmZvdXJ2dHhcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MC41XFx0MC43XFx0MVxcdClcXG51c2VudnR4Y29sb3JcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcIm9uXFxcIlxcdClcXG5jb2xvcm52dHhcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MVxcdDBcXHQwXFx0KVxcbnRyZWF0YXNzY2FsYXJcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcIm9uXFxcIlxcdClcXG51c2luZ1xcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHRcXFwibGVuZ3RoXFxcIlxcdClcXG5jb21wb25lbnRcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdClcXG5yZWZ2ZWNcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdDFcXHQwXFx0KVxcbnJhbmRzZWVkXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDBcXHQpXFxudmFsc2VwXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDFcXHQpXFxucmFtcHNlY3Rpb25cXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdClcXG5jb2xvcnJhbXBwcmVzZXRcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdClcXG5jb2xvcnJhbXBcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0M1xcdClcXG5jb2xvcnJhbXAxcG9zXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDBcXHQpXFxuY29sb3JyYW1wMWNcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0MFxcdDBcXHQwLjg5OTk5OTk3NjE1ODE0MjFcXHQpXFxuY29sb3JyYW1wMWludGVycFxcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHRcXFwibGluZWFyXFxcIlxcdClcXG5jb2xvcnJhbXAycG9zXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDAuNVxcdClcXG5jb2xvcnJhbXAyY1xcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQwXFx0MC44OTk5OTk5NzYxNTgxNDIxXFx0MC44OTk5OTk5NzYxNTgxNDIxXFx0KVxcbmNvbG9ycmFtcDJpbnRlcnBcXHRbIDBcXHRsb2Nrcz0wIF1cXHQoXFx0XFxcImxpbmVhclxcXCJcXHQpXFxuY29sb3JyYW1wM3Bvc1xcdFsgMFxcdGxvY2tzPTAgXVxcdChcXHQxXFx0KVxcbmNvbG9ycmFtcDNjXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdDFcXHQxXFx0MVxcdClcXG5jb2xvcnJhbXAzaW50ZXJwXFx0WyAwXFx0bG9ja3M9MCBdXFx0KFxcdFxcXCJsaW5lYXJcXFwiXFx0KVxcbn1cXG5cIlxuXHR9LFxuXHRcInNjb3BlXCI6e1xuXHRcdFwidHlwZVwiOlwiaW50XCIsXG5cdFx0XCJ2YWx1ZVwiOjJcblx0fSxcblx0XCJ0eXBlXCI6e1xuXHRcdFwidHlwZVwiOlwic3RyaW5nXCIsXG5cdFx0XCJ2YWx1ZVwiOlwidmlzX2NvbG9yXCJcblx0fVxufVxuIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2V0dmlzdWFsaXplcnMiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJzcHJpdGVjdXRvZmYiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgIm5vZGVfdmlzX2VuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJWaXN1YWxpemF0aW9uIEVuYWJsZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibnVtX3Zpc3VhbGl6ZXJzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlZpc3VhbGl6ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzX2FjdGl2ZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFjdGl2ZSAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzX2RhdGEjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSYXcgRGF0YSAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWxfaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVkaXRvciI6ICIxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdWx0aXN0YXJ0b2Zmc2V0IjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9tdWx0aXBhcm1saXN0IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA3Ljk4LAogICAgICAgICAgICAtMTguNwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAidmlzdWFsaXplIgogICAgfQp9
Vellum Guide Geometry
Setup for a vellum simulation that follows a guiding geometry. This is useful when you want to blend a geometry into its final form, while taking into account self or external collisions.
Nov 25, 2025 | 20.5.584 | vellum Cooked By: snay
ewogICAgIlRBUkdFVCI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwZWFrNCIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiX19jb29rYm9va01ldGEiOiB7CiAgICAgICAgImNvbnRleHQiOiAic29wIiwKICAgICAgICAidmVyc2lvbiI6ICIyMC41LjU4NCIKICAgIH0sCiAgICAiY29weTQiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3dlZXAxNSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgIm5jeSI6IDQsCiAgICAgICAgICAgICJ0IjogWwogICAgICAgICAgICAgICAgMC4yMjgsCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgMAogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDIuMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY29weXhmb3JtIgogICAgfSwKICAgICJsaW5lMSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwb2ludHMiOiAyMgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA0LjEKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImxpbmUiCiAgICB9LAogICAgInBlYWs0IjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvcHk0IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJleHRyYXBvbGF0aW9uX2FmdGVyIjogImV4dGVuZCIsCiAgICAgICAgICAgICAgICAiZXh0cmFwb2xhdGlvbl9iZWZvcmUiOiAiZXh0ZW5kIiwKICAgICAgICAgICAgICAgICJrZXlmcmFtZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiYWNjZWwiOiAwLjU2OTQ0NDQ0NDQ0NDQ0NDQsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImJlemllcigpIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1lIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgImluYWNjZWwiOiAwLjMzMzMzMzMzMzMzMzMzMzMsCiAgICAgICAgICAgICAgICAgICAgICAgICJzbG9wZSI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMC4zMzMzMzMzMzMzMzMzMzMzLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJiZXppZXIoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcmFtZSI6IDQyLAogICAgICAgICAgICAgICAgICAgICAgICAiaW5hY2NlbCI6IDAuNTY5NDQ0NDQ0NDQ0NDQ0NCwKICAgICAgICAgICAgICAgICAgICAgICAgInNsb3BlIjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4xCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDEuMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicGVhayIKICAgIH0sCiAgICAic3dlZXAxNSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJsaW5lMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImFwcGx5c2NhbGUiOiB0cnVlLAogICAgICAgICAgICAiY29scyI6IDEzLAogICAgICAgICAgICAic2NhbGVyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibW9ub3RvbmVjdWJpYyIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4zNjY2NjY2NzQ2MTM5NTI2NAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjUsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuMjAwMDAwMDAyOTgwMjMyMjQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInN1cmZhY2VzaGFwZSI6ICJ0dWJlIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAzLjEKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN3ZWVwOjoyLjAiCiAgICB9LAogICAgInZlbGx1bWNsb3RoMiI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJUQVJHRVQiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJiZW5kc3RpZmZuZXNzZXhwIjogIjAiLAogICAgICAgICAgICAiY29uc3RyYWludHR5cGUiOiAiY2xvdGgiLAogICAgICAgICAgICAiZG9iZW5kZ3JwIjogdHJ1ZSwKICAgICAgICAgICAgImRvY29tcHJlc3MiOiB0cnVlLAogICAgICAgICAgICAiZG9tYXNzIjogImNhbGN2YXJ5aW5nIiwKICAgICAgICAgICAgImRvc3RyZXRjaGdycCI6IHRydWUsCiAgICAgICAgICAgICJkb3RoaWNrbmVzcyI6ICJjYWxjdW5pZm9ybSIsCiAgICAgICAgICAgICJwaW5ncm91cCI6ICJwaW4iCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIC0xLjA5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ2ZWxsdW1jb25zdHJhaW50cyIKICAgIH0sCiAgICAidmVsbHVtY29uc3RyYWludHMyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZlbGx1bWNsb3RoMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZlbGx1bWNsb3RoMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDEsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZlbGx1bWNsb3RoMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAyCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImNvbnN0cmFpbnR0eXBlIjogImF0dGFjaCIsCiAgICAgICAgICAgICJzdHJldGNoc3RpZmZuZXNzZXhwIjogIi0xIiwKICAgICAgICAgICAgInRhcmdldGdyb3VwIjogIioiLAogICAgICAgICAgICAidGFyZ2V0Z3JvdXB0eXBlIjogInBvaW50cyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgLTIuMDkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInZlbGx1bWNvbnN0cmFpbnRzIgogICAgfSwKICAgICJ2ZWxsdW1zb2x2ZXIyIjogewogICAgICAgICJlZGl0YWJsZXMiOiB7CiAgICAgICAgICAgICJkb3BuZXQxL2ZvcmNlcyI6IHsKICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAiRk9SQ0UiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAidmVsbHVtcmVzdGJsZW5kMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4yNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMjkKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0b3V0cHV0IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIlNPVVJDRSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvdXRwdXRpZHgiOiAxCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjI5CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldG91dHB1dCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJfX3N0aWNreW5vdGUxIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC45NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTIKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41NgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMDIKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiV2lyZSBQT1AgRm9yY2VzIGludG8gRk9SQ0UgdG8gYXBwbHkgcGVyLXBvaW50IGZvcmNlcy5cblxuV2lyZSBWZWxsdW0gQ29uc3RyYWludCBQcm9wZXJ0aWVzIGFuZCBWZWxsdW0gUmVzdCBCbGVuZCB0byB1cGRhdGUgY29uc3RyYWludHMgZHluYW1pY2FsbHkuXG5cbldpcmUgVmVsbHVtIENvbnN0cmFpbnRzIHRvIGJ1aWxkIG5ldyBjb25zdHJhaW50cy5cblxuV2lyZSBWZWxsdW0gU291cmNlIERPUHMgdG8gU09VUkNFIHRvIGFkZCBuZXcgdmVsbHVtIGdlb21ldHJ5LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0X2NvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIlN0aWNreU5vdGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmVsbHVtcmVzdGJsZW5kMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmdyb3VwIjogImJlbmQgc3RyZXRjaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdHNvcCI6ICIuLi8uLi8uLi8uLi9UQVJHRVQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Rzb3VyY2UiOiAic29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cGRhdGVtb2RlIjogInBlcnN1YnN0ZXAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjc0CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInZlbGx1bXJlc3RibGVuZCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0IgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgImhpZ2hsaWdodCI6IHRydWUsCiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jb25zdHJhaW50czIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jb25zdHJhaW50czIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAxLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jb25zdHJhaW50czIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAyLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJncmF2aXR5IjogWwogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgLTMuMDkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInZlbGx1bXNvbHZlciIKICAgIH0KfQ==
Gradient Flow
Compute flow direction vector and propogate it along mesh. This is done without simulation by using ForEach.
Nov 05, 2025 | 20.5.584 | vex Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInNvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImF0dHJpYnByb21vdGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInBvbHlmcmFtZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJpbmNsYXNzIjogInZlcnRleCIsCiAgICAgICAgICAgICJpbm5hbWUiOiAidGFuZ2VudCIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlicHJvbW90ZSIKICAgIH0sCiAgICAiY29tcHV0ZV9ncmFkaWVudCI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJmb3JlYWNoX2JlZ2luMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInNuaXBwZXQiOiAiaW50IG5laWJvdXJzW10gPSBpW11AbmVpYm91cnM7XG5cbmZsb2F0IGFjY3VtID0gMDtcbmZsb2F0IGluZmVjdCA9IDA7XG5cbmZvcmVhY2ggKGludCBwbnQ7IG5laWJvdXJzKSB7XG4gICAgaW5mZWN0ID0gcG9pbnQoMCwgXCJpbmZlY3RcIiwgcG50KTtcbiAgICBpZiAoaW5mZWN0IFx1MDAzZSAwKSB7XG4gICAgICAgIGFjY3VtICs9IDAuMTtcbiAgICB9XG59XG5cbkBpbmZlY3QgKz0gYWNjdW0gLyBsZW4obmVpYm91cnMpO1xuIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA0LjIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgImZvcmVhY2hfYmVnaW4xIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC45LAogICAgICAgICAgICAwLjUsCiAgICAgICAgICAgIDAKICAgICAgICBdLAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwcmVjb21wdXRlX25laWJvdXJzIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYmxvY2twYXRoIjogIi4uL3Byb3BvZ2F0aW9uX3Byb2dyZXNzIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjAxLAogICAgICAgICAgICA1LjI4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJibG9ja19iZWdpbiIKICAgIH0sCiAgICAiZ3JvdXAxIjogewogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImhpZ2hsaWdodCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInN1YmRpdmlkZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJiYXNlZ3JvdXAiOiAiMjk1MyA1OTUzIDU5NzAgMTUyIDI5NzUgNTk2OCA0MTgzIDQyNDAgODY0NSA4NjQ4IDg0ODEgNDI0NCA0MjQzIDg2NjggODY0NiA4NjU2IDU5NjkgNDI1MSA4NjU0IDQyNDgtNDI0OSA4NjU1IDg2NTggODQ4NCAxODA0IDE3OTkgNDI0NyAxODAzIDEyMiA1OTgzIDg2NzEgODY3NiAxODI2IDQyNTYgODY3NSAxNzk4IDYwMjIgMTIxIDg2NTcgODY3MiA4NzE3IDE3ODcgNDI3MSA0MjczIDE3NzAgMTc4OCA4NjcwIDQyNzUgODcyMyA4NzI4IDg2NjkgODcyMiAxNzg5IDg3MjEgNDI3NiA4NzI2IDE4MyAxNzcxIDg3MTYgMTgxMCA4NjU5IDg2NDciLAogICAgICAgICAgICAiZ3JvdXBuYW1lIjogInN0YXJ0IiwKICAgICAgICAgICAgImdyb3VwdHlwZSI6ICJwb2ludCIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgOC40OAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZ3JvdXBjcmVhdGUiCiAgICB9LAogICAgImluaXRfaW5mZWN0X2F0dHIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiZ3JvdXAxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZ3JvdXAiOiAic3RhcnQiLAogICAgICAgICAgICAic25pcHBldCI6ICJAaW5mZWN0ID0gMTsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDcuNDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgIm9yaWVudF9mcm9tX2dyYWRpZW50IjogewogICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgImJpbmQxIjogewogICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICJleHBvcnRjb250ZXh0IjogImN2ZXgiLAogICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJ0YW5nZW50IiwKICAgICAgICAgICAgICAgICAgICAicGFybXR5cGUiOiAidmVjdG9yIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAzLjc4LAogICAgICAgICAgICAgICAgICAgIDMuNjcKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDAuODMKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJiaW5kIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYmluZDIiOiB7CiAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAibWF0eHRvcXVhdDEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJxdWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogImlucHV0IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImV4cG9ydGNvbnRleHQiOiAiY3ZleCIsCiAgICAgICAgICAgICAgICAgICAgImV4cG9ydHBhcm0iOiAyLAogICAgICAgICAgICAgICAgICAgICJvdmVycmlkZXR5cGUiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJvcmllbnQiLAogICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJmbG9hdDQiLAogICAgICAgICAgICAgICAgICAgICJ1c2Vhc3Bhcm1kZWZpbmVyIjogdHJ1ZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAxNy45MywKICAgICAgICAgICAgICAgICAgICAzLjc5CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjgzCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiYmluZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNyb3NzMSI6IHsKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJnZW9tZXRyeXZvcGdsb2JhbDEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogInZlYzEiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImJpbmQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAidGFuZ2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJ2ZWMyIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgNi43OCwKICAgICAgICAgICAgICAgICAgICAyLjU2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjgzCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiY3Jvc3MiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJjcm9zczIiOiB7CiAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiYmluZDEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJ0YW5nZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogInZlYzEiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImNyb3NzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogImNyb3NzcHJvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJ2ZWMyIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgOS40LAogICAgICAgICAgICAgICAgICAgIDAuODQKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDAuODMKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJjcm9zcyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImdlb21ldHJ5dm9wZ2xvYmFsMSI6IHsKICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgMS45MSwKICAgICAgICAgICAgICAgICAgICAxLjk4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAzLjgzCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2VvbWV0cnl2b3BnbG9iYWw6OjIuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImdlb21ldHJ5dm9wb3V0cHV0MSI6IHsKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAxOS42NSwKICAgICAgICAgICAgICAgICAgICAxLjM2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAxLjI4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2VvbWV0cnl2b3BvdXRwdXQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtYXR4dG9xdWF0MSI6IHsKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWN0b21hdHgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAibWF0eCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJtYXR4IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgMTQuMSwKICAgICAgICAgICAgICAgICAgICA0LjA2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAibWF0eHRvcXVhdCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInZlY3RvbWF0eDEiOiB7CiAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiY3Jvc3MxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAiY3Jvc3Nwcm9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogInZ2YWwxIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJjcm9zczIiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJjcm9zc3Byb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAidnZhbDIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImJpbmQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAidGFuZ2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJ2dmFsMyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDExLjY1LAogICAgICAgICAgICAgICAgICAgIDQuNAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC45OAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInZlY3RvbWF0eCIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJhdHRyaWJwcm9tb3RlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInN0ZHN3aXRjaGVyXzEiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgIkNkIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNkIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm51bV9jb21wb25lbnRzIjogMywKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiRnJhbWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRnJhbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiTiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm51bV9jb21wb25lbnRzIjogMywKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiT3BJbnB1dDEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRmlyc3QgSW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJPcElucHV0MiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTZWNvbmQgSW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJPcElucHV0MyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUaGlyZCBJbnB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIk9wSW5wdXQ0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkZvdXJ0aCBJbnB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIlAiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJudW1fY29tcG9uZW50cyI6IDMsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIlRpbWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcnBhcm1jb250ZXh0cyI6ICJjdmV4IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJUaW1lSW5jIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRpbWUgSW5jIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFnZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZm9yY2UiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRm9yY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAibnVtX2NvbXBvbmVudHMiOiAzLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcnBhcm1jb250ZXh0cyI6ICJjdmV4IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJsaWZlIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZmUiLAogICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibnVtcHJpbSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOdW1iZXIgb2YgUHJpbXMiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibnVtcHQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTnVtYmVyIG9mIFBvaW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJudW12dHgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTnVtYmVyIG9mIFZlcnRpY2VzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcnBhcm1jb250ZXh0cyI6ICJjdmV4IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInByaW1udW0iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUHJpbWl0aXZlIE51bWJlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJwdG51bSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb2ludCBOdW1iZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVVYiLAogICAgICAgICAgICAgICAgICAgICAgICAibnVtX2NvbXBvbmVudHMiOiAzLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdm9wIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcnBhcm1jb250ZXh0cyI6ICJjdmV4IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ2IjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlZlbG9jaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm51bV9jb21wb25lbnRzIjogMywKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXZvcCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJwYXJtY29udGV4dHMiOiAiY3ZleCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidnR4bnVtIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlZlcnRleCBOdW1iZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm12b3AiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVycGFybWNvbnRleHRzIjogImN2ZXgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuMDEsCiAgICAgICAgICAgIC0xLjE4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJ2b3AiCiAgICB9LAogICAgInBvaW50d3JhbmdsZTIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicHJvcG9nYXRpb25fcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzbmlwcGV0IjogInZAZ3JhZCA9IHNldChAaW5mZWN0LCAwLCAwKTsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDIuMDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgInBvbHlmcmFtZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicG9pbnR3cmFuZ2xlMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgIk5vbiI6IGZhbHNlLAogICAgICAgICAgICAiYXR0cmlibmFtZSI6ICJncmFkIiwKICAgICAgICAgICAgInN0eWxlIjogImF0dHJpYiIsCiAgICAgICAgICAgICJ0YW5nZW50dSI6ICJ0YW5nZW50IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAxCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJwb2x5ZnJhbWUiCiAgICB9LAogICAgInByZWNvbXB1dGVfbmVpYm91cnMiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiaW5pdF9pbmZlY3RfYXR0ciIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInNuaXBwZXQiOiAiaW50IG5laWJvdXJzW10gPSBuZWlnaGJvdXJzKDAsIEBwdG51bSk7XG5pW11AbmVpYm91cnMgPSBuZWlib3VyczsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDYuMzYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgInByb3BvZ2F0aW9uX3Byb2dyZXNzIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC45LAogICAgICAgICAgICAwLjUsCiAgICAgICAgICAgIDAKICAgICAgICBdLAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJjb21wdXRlX2dyYWRpZW50IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYmxvY2twYXRoIjogIi4uL2ZvcmVhY2hfYmVnaW4xIiwKICAgICAgICAgICAgIml0ZXJhdGlvbnMiOiB7CiAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICIkRiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIml0ZXJtZXRob2QiOiAiY291bnQiLAogICAgICAgICAgICAidGVtcGxhdGVwYXRoIjogIi4uL2ZvcmVhY2hfYmVnaW4xIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjAxLAogICAgICAgICAgICAzLjEyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJibG9ja19lbmQiCiAgICB9LAogICAgInN1YmRpdmlkZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAidGVzdGdlb21ldHJ5X3BpZ2hlYWQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjA3LAogICAgICAgICAgICA5LjQ4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzdWJkaXZpZGUiCiAgICB9LAogICAgInRlc3RnZW9tZXRyeV9waWdoZWFkMSI6IHsKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuMDEsCiAgICAgICAgICAgIDEwLjQ4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ0ZXN0Z2VvbWV0cnlfcGlnaGVhZCIKICAgIH0KfQ==
Simple Petal
A few nodes to create a basic petal shape, with common masks, deformation, and UVs. This should provide a good base layer of detail to feed into a vellum simulation.
Nov 05, 2025 | 20.5.584 | geometry Cooked By: snay
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInNvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImFzc2lnbl9lZGdlX3ZhbCI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJib3VuZGFyeV9lZGdlX2dyb3VwIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZ3JvdXAiOiAiZWRnZSIsCiAgICAgICAgICAgICJzbmlwcGV0IjogImZAZWRnZSA9IDEuMDsgICIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiYXV0b3V2MSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJncmlkMyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgNy4wNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibGFiczo6YXV0b3V2IgogICAgfSwKICAgICJibHVyX2VkZ2UiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVtZXNoMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImF0dHJpYnV0ZXMiOiAiZWRnZSIsCiAgICAgICAgICAgICJpdGVyYXRpb25zIjogOQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAtMy4xMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmliYmx1ciIKICAgIH0sCiAgICAiYm91bmRhcnlfZWRnZV9ncm91cCI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJoaWdobGlnaHQiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJlZGdlX3Ntb290aDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJncm91cGJhc2UiOiBmYWxzZSwKICAgICAgICAgICAgImdyb3VwZWRnZXMiOiB0cnVlLAogICAgICAgICAgICAiZ3JvdXBuYW1lIjogImVkZ2UiLAogICAgICAgICAgICAiZ3JvdXB0eXBlIjogInBvaW50IiwKICAgICAgICAgICAgInVuc2hhcmVkIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAxLjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJncm91cGNyZWF0ZSIKICAgIH0sCiAgICAiY2VudGVyX25vaXNlIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImVkZ2Vfbm9pc2UiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhbXBsaXR1ZGV2IjogMC4wNywKICAgICAgICAgICAgImF0dHJpYnMiOiAiUCIsCiAgICAgICAgICAgICJibGVuZGF0dHJpYiI6ICJoZWlnaHROb2lzZU1hc2siLAogICAgICAgICAgICAiYmxlbmRtb2RlIjogImF0dHJpYiIsCiAgICAgICAgICAgICJjb21wb25lbnRzY29wZSI6IDEwNiwKICAgICAgICAgICAgImRvYmxlbmQiOiB0cnVlLAogICAgICAgICAgICAiZWxlbWVudHNjYWxlIjogWwogICAgICAgICAgICAgICAgMC4yLAogICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImVsZW1lbnRzaXplIjogMC45LAogICAgICAgICAgICAiZWxlbWVudHNpemV0eXBlIjogMSwKICAgICAgICAgICAgImxvY2F0aW9uYXR0cmliIjogIlAyIiwKICAgICAgICAgICAgIm5vaXNlcmFuZ2UiOiAiemNlbnRlcmVkIiwKICAgICAgICAgICAgIm9jdCI6IDAuNzcsCiAgICAgICAgICAgICJvZmZzZXQiOiAyMi44CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIC01LjEyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJub2lzZTo6Mi4wIgogICAgfSwKICAgICJjcmVhdGVfbm9pc2VfbWFza3MiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiYXNzaWduX2VkZ2VfdmFsIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibm9pc2VfYnlfZWRnZSI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAibm9pc2VfYnlfaGVpZ2h0IjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogImZAaGVpZ2h0Tm9pc2VNYXNrID0gY2hyYW1wKFwibm9pc2VfYnlfaGVpZ2h0XCIsIC12QFAueik7XG5mQGVkZ2VOb2lzZU1hc2sgPSBmQGVkZ2UgKiBjaHJhbXAoXCJub2lzZV9ieV9lZGdlXCIsIC12QFAueik7XG5cbnZAUDIgPSBub3JtYWxpemUodkBQKTsiCiAgICAgICAgfSwKICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJ2ZXhfdGhyZWFkam9ic2l6ZSIsCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyX2dlbmVyYXRlZHBhcm1zX3NuaXBwZXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJHZW5lcmF0ZWQgQ2hhbm5lbCBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9pc2VfYnlfZWRnZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTm9pc2UgQnkgRWRnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmFtcF9mbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9pc2VfYnlfaGVpZ2h0IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOb2lzZSBCeSBIZWlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3dfY29udHJvbHMiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJhbXBfZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAic2ltcGxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9zaW1wbGUiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIC0xLjA4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJ3cmFuZ2xlIgogICAgfSwKICAgICJlZGdlX2ZvbGRpbmciOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic21vb3RoMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInNuaXBwZXQiOiAidmVjdG9yIGRpciA9IG5vcm1hbGl6ZSh2QFApO1xuXG52QFAgLT0gZkBlZGdlTm9pc2VNYXNrICogMC4xKmRpciAqICgxLjAgKyBjdXJsbm9pc2UoNC4wKnZAUCkpO1xudkBQLnkgKz0gMC4wMypmQGVkZ2VOb2lzZU1hc2s7IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAtNy4xNgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiZWRnZV9ub2lzZSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJibHVyX2VkZ2UiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhbXBsaXR1ZGV2IjogMC4wNSwKICAgICAgICAgICAgImF0dHJpYnMiOiAiUCIsCiAgICAgICAgICAgICJibGVuZGF0dHJpYiI6ICJlZGdlTm9pc2VNYXNrIiwKICAgICAgICAgICAgImJsZW5kbW9kZSI6ICJhdHRyaWIiLAogICAgICAgICAgICAiY29tcG9uZW50c2NvcGUiOiAxMDYsCiAgICAgICAgICAgICJkb2JsZW5kIjogdHJ1ZSwKICAgICAgICAgICAgImVsZW1lbnRzaXplIjogMC4xMiwKICAgICAgICAgICAgIm5vaXNlcmFuZ2UiOiAiemNlbnRlcmVkIiwKICAgICAgICAgICAgIm9jdCI6IDAKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgLTQuMTIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYm5vaXNlOjoyLjAiCiAgICB9LAogICAgImVkZ2Vfc21vb3RoMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzdWJkaXZpZGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiaW5jbHVkZXVuc2hhcmVkIjogdHJ1ZSwKICAgICAgICAgICAgInNtb290aHN0cmVuZ3RoIjogOAogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAyLjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJsYWJzOjplZGdlX3Ntb290aDo6MS4wIiwKICAgICAgICAidXNlcl9kYXRhIjogewogICAgICAgICAgICAid2lyZXN0eWxlIjogInJvdW5kZWQiCiAgICAgICAgfQogICAgfSwKICAgICJlZGl0MSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJoaWdobGlnaHQiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJhdXRvdXYxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZ3JvdXAiOiAiMyA4IiwKICAgICAgICAgICAgImdyb3VwdHlwZSI6ICJwb2ludHMiLAogICAgICAgICAgICAibGVhZGlzbGFuZGhpbnQiOiAiOCIsCiAgICAgICAgICAgICJwIjogWwogICAgICAgICAgICAgICAgMi45ODAyMzIyMzg3Njk1MzEyZS04LAogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIC0wLjIwMTY4NDU5NDE1NDM1NzkKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIDAuMDU2NzM3ODk5NzgwMjczNDQKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA2LjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJlZGl0IgogICAgfSwKICAgICJlZGl0MiI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJoaWdobGlnaHQiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwb2x5c3BsaXQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZ3JvdXAiOiAiMTAtMTEgMTMiLAogICAgICAgICAgICAiZ3JvdXB0eXBlIjogInBvaW50cyIsCiAgICAgICAgICAgICJsZWFkaXNsYW5kaGludCI6ICIxMyIsCiAgICAgICAgICAgICJwIjogWwogICAgICAgICAgICAgICAgMi45ODAyMzIyMzg3Njk1MzEyZS04LAogICAgICAgICAgICAgICAgLTAuMDU4MzI1NzM3NzE0NzY3NDU2LAogICAgICAgICAgICAgICAgLTAuMzU0NDA4MzIzNzY0ODAxCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0IjogWwogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIC0wLjA3OTI5ODA5MDE4OTY5NTM2LAogICAgICAgICAgICAgICAgMAogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDQuMDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImVkaXQiCiAgICB9LAogICAgImdyaWQzIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImNvbHMiOiA1LAogICAgICAgICAgICAiciI6IFsKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAtOTAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJyb3dzIjogMiwKICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAwLjc5MzAxNTE2NzExNzExODgsCiAgICAgICAgICAgICAgICAwLjQwNjcxODg1MDEzNTgwMzIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIC0wLjM5OTkzODM3NDc1Nzc2NjcKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA4LjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJncmlkIgogICAgfSwKICAgICJwb2x5c3BsaXQxIjogewogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImhpZ2hsaWdodCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImVkaXQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibnVtbG9vcHMiOiAxLAogICAgICAgICAgICAicGF0aHR5cGUiOiAicXVhZGN1dCIsCiAgICAgICAgICAgICJzcGxpdGxvYyI6ICIxZTE6MC41MDg0ODQiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDUuMDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInBvbHlzcGxpdDo6Mi4wIgogICAgfSwKICAgICJyZW1lc2gxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNyZWF0ZV9ub2lzZV9tYXNrcyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInRhcmdldHNpemUiOiAwLjAyCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIC0yLjEyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJyZW1lc2g6OjIuMCIKICAgIH0sCiAgICAic21vb3RoMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJjZW50ZXJfbm9pc2UiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIC02LjEyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzbW9vdGg6OjIuMCIKICAgIH0sCiAgICAic3ViZGl2aWRlMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJlZGl0MiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgIml0ZXJhdGlvbnMiOiAyCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDMuMDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN1YmRpdmlkZSIKICAgIH0KfQ==