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.

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==
Unfurling Flower Pod
Building up from the unfurling stem example, this snippet assembles the stems into a flower pod. The animation includes a rig attribute wrangle as the main control, and a kinefx secondary motion for extra livity.
Nov 08, 2025 | 20.5.584 | animation Cooked By: snay
ewogICAgIkFSUkFOR0VNRU5UX0FOSU1BVElPTl9DT05UUk9MUyI6IHsKICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgIDAuNTgsCiAgICAgICAgICAgIDAuMjEsCiAgICAgICAgICAgIDAuNDcKICAgICAgICBdLAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzZXRfcGFyYW1zIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZmluYWxBbmdsZSI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuMzk0MTYwNTk4NTE2NDY0MjMsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuOTE5NzA4MDEzNTM0NTQ1OSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxLjU0OTAwMDAyNDc5NTUzMjIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm9wZW5BbmdsZSI6IC0xLjM2LAogICAgICAgICAgICAicHJvZ3Jlc3MiOiB7CiAgICAgICAgICAgICAgICAiZXh0cmFwb2xhdGlvbl9hZnRlciI6ICJleHRlbmQiLAogICAgICAgICAgICAgICAgImV4dHJhcG9sYXRpb25fYmVmb3JlIjogImV4dGVuZCIsCiAgICAgICAgICAgICAgICAia2V5ZnJhbWVzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMS4xMjUsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImJlemllcigpIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1lIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgImluYWNjZWwiOiAwLjMzMzMzMzMzMzMzMzMzMzMsCiAgICAgICAgICAgICAgICAgICAgICAgICJzbG9wZSI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEuMjkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMC4zMzMzMzMzMzMzMzMzMzMzLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJiZXppZXIoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcmFtZSI6IDgyLAogICAgICAgICAgICAgICAgICAgICAgICAiaW5hY2NlbCI6IDEuMTI1LAogICAgICAgICAgICAgICAgICAgICAgICAic2xvcGUiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAtMC4zMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgInByb2dyZXNzU3RlcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAicm90YXRlTWF4IjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC4xODkxODkxOTU2MzI5MzQ1NywKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjAxNjA4MTA4MTcwMzMwNTI0NAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4wODUwMDAwMDA4OTQwNjk2NwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2NhbGUiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEuNzAwMDAwMDQ3NjgzNzE1OAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuOTkyNzAwNzU1NTk2MTYwOSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjQ1MzMzMzM3NzgzODEzNDc3CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogInZAdXAgPSBub3JtYWxpemUodkBQKTtcbnZATiA9IHswLDEsMH07XG52QHVwICs9IDAuMSpjdXJsbm9pc2UoMTAwLjAgKiB2QFApO1xuXG5mbG9hdCBwcm9ncmVzcyA9IGNoZihcInByb2dyZXNzXCIpO1xuZmxvYXQgb3BlbkFuZ2xlID0gY2hmKFwib3BlbkFuZ2xlXCIpO1xuXG5cbnByb2dyZXNzID0gbWF4KHByb2dyZXNzIC0gZkBkZWxheSwwKTtcbmZAbGVhZlByb2dyZXNzID0gY2xhbXAocHJvZ3Jlc3MsMCwxKTtcblxuXG5tYXRyaXggbSA9IGlkZW50KCk7XG5yb3RhdGUobSwgLW9wZW5BbmdsZSAqZkBmaW5hbEFuZ2xlLCBjcm9zcyh2QE4sIHZAdXApKTtcbnZATiA9IG0qIHZATjtcblxuZkBpZCA9IEBwdG51bTtcbiIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInZleF90aHJlYWRqb2JzaXplIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdlbmVyYXRlZCBDaGFubmVsIFBhcmFtZXRlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaW5hbEFuZ2xlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJGaW5hbGFuZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVuQW5nbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk9wZW5hbmdsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvZ3Jlc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlByb2dyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9ncmVzc1N0ZXAiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlByb2dyZXNzc3RlcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmFtcF9mbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicm90YXRlTWF4IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3RhdGVtYXgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3dfY29udHJvbHMiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJhbXBfZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjYWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmFtcF9mbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJzaW1wbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX3NpbXBsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMy43MSwKICAgICAgICAgICAgMC4xMwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiX19jb29rYm9va01ldGEiOiB7CiAgICAgICAgImNvbnRleHQiOiAic29wIiwKICAgICAgICAidmVyc2lvbiI6ICIyMC41LjU4NCIKICAgIH0sCiAgICAiYXBwbHlfcm90YXRpb25zIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNhbGN1bGF0ZV9yb3RhdGlvbnMiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzbmlwcGV0IjogInByZXJvdGF0ZSg0QGxvY2FsdHJhbnNmb3JtLGZAcm90YXRlQW1vdW50LCB7MSwwLDB9KTtcbiIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMy41MSwKICAgICAgICAgICAgLTUuNjQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImtpbmVmeDo6cmlnYXR0cmlid3JhbmdsZSIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgImRpc3BsYXlfb3B0aW9ucyI6ICJ7XCJzaG93X2pvaW50c1wiOiAxLCBcInNob3dfbGlua3NcIjogMCwgXCJzb2xpZF9saW5rc1wiOiAxLCBcInNob3dfYXhlc1wiOiAwLCBcInNob3dfc2NlbmVfZ2VvXCI6IDF9IgogICAgICAgIH0KICAgIH0sCiAgICAiYXR0cmliZGVsZXRlMiI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJtb3Rpb25jbGlwZXZhbHVhdGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibmVnYXRlIjogdHJ1ZSwKICAgICAgICAgICAgInB0ZGVsIjogImN1cnZldSBDZCIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi4xMywKICAgICAgICAgICAgLTEwLjQyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJkZWxldGUiCiAgICB9LAogICAgImNhbGN1bGF0ZV9yb3RhdGlvbnMiOiB7CiAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAwLjgsCiAgICAgICAgICAgIDAuMDIsCiAgICAgICAgICAgIDAuMDIKICAgICAgICBdLAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJyaWdkb2N0b3IyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYW1vdW50IjogNC40LAogICAgICAgICAgICAicm90YXRlQnlDdXJ2ZXUiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInJvdGF0ZUJ5UHJvZ3Jlc3MiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjAwMgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNuaXBwZXQiOiAiZmxvYXQgbWFzayA9IGNocmFtcChcInJvdGF0ZUJ5Q3VydmV1XCIsIGZAY3VydmV1KTtcbmZAcm90YXRlQW1vdW50ID0gbWF4KG1hc2sqIGNocmFtcChcInJvdGF0ZUJ5UHJvZ3Jlc3NcIixmQGxlYWZQcm9ncmVzcykqY2hmKFwiYW1vdW50XCIpLCBmQHJvdGF0ZU1heCk7XG5mQHJvdGF0ZUFtb3VudCArPSAwLjAwNSAqIHNpbigwLjIqQEZyYW1lICsgZkBpZCk7XG5mQHNjYWxlQW1vdW50ID0gZml0KGZAbGVhZlByb2dyZXNzLCAwLCAxLCAxLCAwLjgpOyIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInZleF90aHJlYWRqb2JzaXplIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdlbmVyYXRlZCBDaGFubmVsIFBhcmFtZXRlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFtb3VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicm90YXRlQnlDdXJ2ZXUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvdGF0ZWJ5Y3VydmV1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyb3RhdGVCeVByb2dyZXNzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3RhdGVieXByb2dyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogInNpbXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImJsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfc2ltcGxlIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAzLjUxLAogICAgICAgICAgICAtNC42NAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAia2luZWZ4OjpyaWdhdHRyaWJ3cmFuZ2xlIiwKICAgICAgICAidXNlcl9kYXRhIjogewogICAgICAgICAgICAiZGlzcGxheV9vcHRpb25zIjogIntcInNob3dfam9pbnRzXCI6IDEsIFwic2hvd19saW5rc1wiOiAwLCBcInNvbGlkX2xpbmtzXCI6IDEsIFwic2hvd19heGVzXCI6IDAsIFwic2hvd19zY2VuZV9nZW9cIjogMX0iCiAgICAgICAgfQogICAgfSwKICAgICJjaXJjbGUxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpdnMiOiAyNiwKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICA5MCwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzY2FsZSI6IDAuMDMxLAogICAgICAgICAgICAidHlwZSI6ICJwb2x5IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAzLjcyLAogICAgICAgICAgICAyLjI1CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJjaXJjbGUiCiAgICB9LAogICAgImNvcHl0b3BvaW50czEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic2V0X3RpcF9hbmRfcm9vdCIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIkFSUkFOR0VNRU5UX0FOSU1BVElPTl9DT05UUk9MUyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInRhcmdldGF0dHJpYnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIqLF52LF5BbHBoYSxeTixedXAsXnBzY2FsZSxec2NhbGUsXm9yaWVudCxecm90LF5waXZvdCxedHJhbnMsXnRyYW5zZm9ybSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseW1ldGhvZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJBbHBoYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseW1ldGhvZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJtdWx0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5dG8jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlYXBwbHkjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYXBwbHlhdHRyaWJzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogInYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiYWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5dG8jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlYXBwbHkjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuODcsCiAgICAgICAgICAgIC0yLjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImNvcHl0b3BvaW50czo6Mi4wIgogICAgfSwKICAgICJsaW5lMSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwb2ludHMiOiAyMAogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA0LjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJsaW5lIgogICAgfSwKICAgICJtb3Rpb25jbGlwMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJhcHBseV9yb3RhdGlvbnMiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJmcmFtZXJhbmdlIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogIiRGU1RBUlQiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgMTAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ1c2VmaXJzdGZyYW1lIjogZmFsc2UsCiAgICAgICAgICAgICJ1c2VmcmFtZXJhbmdlIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAzLjUxLAogICAgICAgICAgICAtNi42NAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAia2luZWZ4Ojptb3Rpb25jbGlwIgogICAgfSwKICAgICJtb3Rpb25jbGlwZXZhbHVhdGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNlY29uZGFyeW1vdGlvbjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAxLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuMTMsCiAgICAgICAgICAgIC05LjQyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJraW5lZng6Om1vdGlvbmNsaXBldmFsdWF0ZSIKICAgIH0sCiAgICAicmVzYW1wbGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImxpbmUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZG9jdXJ2ZXVhdHRyIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAzLjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJyZXNhbXBsZSIKICAgIH0sCiAgICAicmVzYW1wbGUyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImF0dHJpYmRlbGV0ZTIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJsZW5ndGgiOiAwLjAwMiwKICAgICAgICAgICAgInRyZWF0cG9seXNhcyI6ICJzdWJkIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjEzLAogICAgICAgICAgICAtMTEuNDIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInJlc2FtcGxlIgogICAgfSwKICAgICJyaWdkb2N0b3IxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInJlc2FtcGxlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImluaXR0cmFuc2Zvcm1zIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAyLjA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJraW5lZng6OnJpZ2RvY3RvciIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgImRpc3BsYXlfb3B0aW9ucyI6ICJ7XCJzaG93X2pvaW50c1wiOiAxLCBcInNob3dfbGlua3NcIjogZmFsc2UsIFwic29saWRfbGlua3NcIjogMSwgXCJzaG93X2F4ZXNcIjogZmFsc2UsIFwic2hvd19zY2VuZV9nZW9cIjogMX0iCiAgICAgICAgfQogICAgfSwKICAgICJyaWdkb2N0b3IyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvcHl0b3BvaW50czEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuODcsCiAgICAgICAgICAgIC0zLjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImtpbmVmeDo6cmlnZG9jdG9yIiwKICAgICAgICAidXNlcl9kYXRhIjogewogICAgICAgICAgICAiZGlzcGxheV9vcHRpb25zIjogIntcInNob3dfam9pbnRzXCI6IDEsIFwic2hvd19saW5rc1wiOiBmYWxzZSwgXCJzb2xpZF9saW5rc1wiOiAxLCBcInNob3dfYXhlc1wiOiBmYWxzZSwgXCJzaG93X3NjZW5lX2dlb1wiOiAxfSIKICAgICAgICB9CiAgICB9LAogICAgInNlY29uZGFyeW1vdGlvbjEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmlnZG9jdG9yMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1vdGlvbmNsaXAxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDEKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZGFtcGluZyI6IDMsCiAgICAgICAgICAgICJlZmZlY3RtdWx0IjogMC4xLAogICAgICAgICAgICAiZnJhbWVyYW5nZSI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICIkRlNUQVJUIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIDQwMAogICAgICAgICAgICBdLAogICAgICAgICAgICAiam9pbnRncm91cCI6ICJ0aXAiLAogICAgICAgICAgICAiam9pbnRncm91cHNvdXJjZSI6ICJtaWQiLAogICAgICAgICAgICAibGFnIjogWwogICAgICAgICAgICAgICAgMC4xLAogICAgICAgICAgICAgICAgMC4xCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXNzIjogMC4xLAogICAgICAgICAgICAib3ZlcnNob290IjogWwogICAgICAgICAgICAgICAgMC4xLAogICAgICAgICAgICAgICAgMC4xCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ1c2Vqb2ludGdyb3Vwc291cmNlIjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi4xMywKICAgICAgICAgICAgLTguMzgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImtpbmVmeDo6c2Vjb25kYXJ5bW90aW9uIiwKICAgICAgICAidXNlcl9kYXRhIjogewogICAgICAgICAgICAiZGlzcGxheV9vcHRpb25zIjogIntcInNob3dfam9pbnRzXCI6IDEsIFwic2hvd19saW5rc1wiOiAwLCBcInNvbGlkX2xpbmtzXCI6IDEsIFwic2hvd19heGVzXCI6IDEsIFwic2hvd19zY2VuZV9nZW9cIjogMX0iLAogICAgICAgICAgICAid2lyZXN0eWxlIjogInJvdW5kZWQiCiAgICAgICAgfQogICAgfSwKICAgICJzZXRfcGFyYW1zIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNpcmNsZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzbmlwcGV0IjogImZAcm90YXRlTWF4ID0gMDtcbmZAZmluYWxBbmdsZSA9IC0wLjQgKyAwLjIgKiByYW5kKEBwdG51bSk7XG5mQHBzY2FsZSA9IDIuMCArIDAuMDUgKiByYW5kKEBwdG51bSk7XG5mQGRlbGF5ID0gMC4wMSpAcHRudW0gKy41KnJhbmQoQHB0bnVtKTsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDMuNzEsCiAgICAgICAgICAgIDEuMjEKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgInNldF90aXBfYW5kX3Jvb3QiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAidHJhbnNmb3JtMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImNsYXNzIjogInByaW1pdGl2ZSIsCiAgICAgICAgICAgICJzbmlwcGV0IjogImludCBwdHNbXSA9IHByaW1wb2ludHMoMCwgQHByaW1udW0pO1xuaW50IG1pZFZhbCA9IGxlbihwdHMpLzIgLSAxO1xuc2V0cG9pbnRncm91cCgwLCBcInJvb3RcIiwgcHRzWzBdLCAxKTtcblxuZm9yIChpbnQgaSA9IG1pZFZhbCArIDE7IGkgXHUwMDNjIGxlbihwdHMpOyBpICsrKXtcbiAgICBzZXRwb2ludGdyb3VwKDAsIFwidGlwXCIsIGksIDEpO1xufSIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAic3dlZXA0IjogewogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlLAogICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVzYW1wbGUyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYXBwbHlzY2FsZSI6IHRydWUsCiAgICAgICAgICAgICJjb2xzIjogMjQsCiAgICAgICAgICAgICJjb21wdXRldXZzIjogdHJ1ZSwKICAgICAgICAgICAgImVuZGNhcHR5cGUiOiAic2luZ2xlIiwKICAgICAgICAgICAgInJhZGl1cyI6IDAuMDAzOCwKICAgICAgICAgICAgInNjYWxlcmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC45ODQzNzUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJiZXppZXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjI4MzIwODY2ODIzMTk2NDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC45ODQzNzUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJiZXppZXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjM4NDI1MDQ2MjA1NTIwNjMsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogLTAuMgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuODU1Nzg3NDU2MDM1NjE0LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuNjgxNDM4MzI2ODM1NjMyMwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuOTkxNTE5OTI3OTc4NTE1NiwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjg3NzU5MTE5MjcyMjMyMDYKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJiZXppZXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjk4NTc2ODQ5Njk5MDIwMzksCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4yODE4ODYzNjg5ODk5NDQ0NgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4wODMzMzMzMzU4MTY4NjAyCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzdHJldGNoYXJvdW5kdHVybnMiOiBmYWxzZSwKICAgICAgICAgICAgInN1cmZhY2VzaGFwZSI6ICJ0dWJlIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjEzLAogICAgICAgICAgICAtMTIuNDIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN3ZWVwOjoyLjAiCiAgICB9LAogICAgInRyYW5zZm9ybTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmlnZG9jdG9yMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICA0MCwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzY2FsZSI6IDAuMDcKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMS4wNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAieGZvcm0iCiAgICB9Cn0=
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==
Unfurling Stem
Create a plant like unfurling animation by converting a line to a KineFX rig and applying a compounding rotation.
Nov 05, 2025 | 20.5.584 | animation Cooked By: snay
ewogICAgIkFOSU0iOiB7CiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJyb290X3NjYWxlIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjYsCiAgICAgICAgICAgIC00LjcyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJudWxsIgogICAgfSwKICAgICJQQVJBTVMiOiB7CiAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAwLjMyLAogICAgICAgICAgICAwLjI2LAogICAgICAgICAgICAwLjU4CiAgICAgICAgXSwKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicHJvZ3Jlc3MiOiB7CiAgICAgICAgICAgICAgICAiZXh0cmFwb2xhdGlvbl9hZnRlciI6ICJleHRlbmQiLAogICAgICAgICAgICAgICAgImV4dHJhcG9sYXRpb25fYmVmb3JlIjogImV4dGVuZCIsCiAgICAgICAgICAgICAgICAia2V5ZnJhbWVzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMi4xMjUsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImJlemllcigpIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1lIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgImluYWNjZWwiOiAwLjMzMzMzMzMzMzMzMzMzMzMsCiAgICAgICAgICAgICAgICAgICAgICAgICJzbG9wZSI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMC4zMzMzMzMzMzMzMzMzMzMzLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJiZXppZXIoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcmFtZSI6IDE1NCwKICAgICAgICAgICAgICAgICAgICAgICAgImluYWNjZWwiOiAyLjEyNSwKICAgICAgICAgICAgICAgICAgICAgICAgInNsb3BlIjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAiY2FjaGVpbnB1dCIsCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAicHJvZ3Jlc3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQcm9ncmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJudWxsIgogICAgfSwKICAgICJfX2Nvb2tib29rTWV0YSI6IHsKICAgICAgICAiY29udGV4dCI6ICJzb3AiLAogICAgICAgICJ2ZXJzaW9uIjogIjIwLjUuNTg0IgogICAgfSwKICAgICJhcHBseV90cmFuc2Zvcm0iOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic2V0X3JvdGF0ZV9hbmRfc2NhbGVfYW1vdW50IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic25pcHBldCI6ICJwcmVyb3RhdGUoNEBsb2NhbHRyYW5zZm9ybSxmQHJvdGF0ZUFtb3VudCwgezEsMCwwfSk7XG5wcmVzY2FsZSg0QGxvY2FsdHJhbnNmb3JtLCBmQHNjYWxlQW1vdW50KTsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuNTcsCiAgICAgICAgICAgIC0yLjMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImtpbmVmeDo6cmlnYXR0cmlid3JhbmdsZSIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgImRpc3BsYXlfb3B0aW9ucyI6ICJ7XCJzaG93X2pvaW50c1wiOiAxLCBcInNob3dfbGlua3NcIjogMCwgXCJzb2xpZF9saW5rc1wiOiAxLCBcInNob3dfYXhlc1wiOiAwLCBcInNob3dfc2NlbmVfZ2VvXCI6IDF9IgogICAgICAgIH0KICAgIH0sCiAgICAibGluZTEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicG9pbnRzIjogMjAKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi41NywKICAgICAgICAgICAgMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibGluZSIKICAgIH0sCiAgICAicmVzYW1wbGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImxpbmUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZG9jdXJ2ZXVhdHRyIjogdHJ1ZSwKICAgICAgICAgICAgImxlbmd0aCI6IDAuMDMKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi41NywKICAgICAgICAgICAgMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicmVzYW1wbGUiCiAgICB9LAogICAgInJpZ2RvY3RvcjEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVzYW1wbGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiaW5pdHRyYW5zZm9ybXMiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuNTcsCiAgICAgICAgICAgIC0wLjAxCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJraW5lZng6OnJpZ2RvY3RvciIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgImRpc3BsYXlfb3B0aW9ucyI6ICJ7XCJzaG93X2pvaW50c1wiOiAxLCBcInNob3dfbGlua3NcIjogZmFsc2UsIFwic29saWRfbGlua3NcIjogMSwgXCJzaG93X2F4ZXNcIjogZmFsc2UsIFwic2hvd19zY2VuZV9nZW9cIjogMX0iCiAgICAgICAgfQogICAgfSwKICAgICJyb290X3NjYWxlIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImFwcGx5X3RyYW5zZm9ybSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImdyb3VwIjogIjAiLAogICAgICAgICAgICAicm9vdF9zY2FsZSI6IHsKICAgICAgICAgICAgICAgICJleHRyYXBvbGF0aW9uX2FmdGVyIjogImV4dGVuZCIsCiAgICAgICAgICAgICAgICAiZXh0cmFwb2xhdGlvbl9iZWZvcmUiOiAiZXh0ZW5kIiwKICAgICAgICAgICAgICAgICJrZXlmcmFtZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiYWNjZWwiOiAxLjAyNzc3Nzc3Nzc3Nzc3NzcsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImJlemllcigpIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1lIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgImluYWNjZWwiOiAwLjMzMzMzMzMzMzMzMzMzMzMsCiAgICAgICAgICAgICAgICAgICAgICAgICJzbG9wZSI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImFjY2VsIjogMC4zMzMzMzMzMzMzMzMzMzMzLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJiZXppZXIoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcmFtZSI6IDc1LAogICAgICAgICAgICAgICAgICAgICAgICAiaW5hY2NlbCI6IDEuMDI3Nzc3Nzc3Nzc3Nzc3NywKICAgICAgICAgICAgICAgICAgICAgICAgInNsb3BlIjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgInNuaXBwZXQiOiAicHJlc2NhbGUoNEBsb2NhbHRyYW5zZm9ybSwgY2hmKFwicm9vdF9zY2FsZVwiKSk7IgogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAidmV4X3RocmVhZGpvYnNpemUiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZvbGRlcl9nZW5lcmF0ZWRwYXJtc19zbmlwcGV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiR2VuZXJhdGVkIENoYW5uZWwgUGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJvb3Rfc2NhbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvb3QgU2NhbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAic2ltcGxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9zaW1wbGUiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuNiwKICAgICAgICAgICAgLTMuNDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImtpbmVmeDo6cmlnYXR0cmlid3JhbmdsZSIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgImRpc3BsYXlfb3B0aW9ucyI6ICJ7XCJzaG93X2pvaW50c1wiOiAxLCBcInNob3dfbGlua3NcIjogMCwgXCJzb2xpZF9saW5rc1wiOiAxLCBcInNob3dfYXhlc1wiOiAwLCBcInNob3dfc2NlbmVfZ2VvXCI6IDF9IgogICAgICAgIH0KICAgIH0sCiAgICAic2V0X3JvdGF0ZV9hbmRfc2NhbGVfYW1vdW50IjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInJpZ2RvY3RvcjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhbW91bnQiOiAwLjA0OSwKICAgICAgICAgICAgInJvdGF0ZUJ5Q3VydmVVIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC43NDIwNTYwNzE3NTgyNzAzLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInJvdGF0ZUJ5UHJvZ3Jlc3MiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibW9ub3RvbmVjdWJpYyIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNzA5MTgzNjkyOTMyMTI4OSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAtMC4wMjE0Njc2MDAwMTc3ODYwMjYKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogImZsb2F0IGFtb3VudCA9IGNoZihcIi4uL1BBUkFNUy9wcm9ncmVzc1wiKTtcblxuZkByb3RhdGVBbW91bnQgPSBjaHJhbXAoXCJyb3RhdGVCeVByb2dyZXNzXCIsIGFtb3VudCkgKiBjaHJhbXAoXCJyb3RhdGVCeUN1cnZlVVwiLCBmQGN1cnZldSk7XG5mQHNjYWxlQW1vdW50ID0gZml0KGZAcm90YXRlQW1vdW50LCAwLCAxLCAxLCAwLjgpOyIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInZleF90aHJlYWRqb2JzaXplIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdlbmVyYXRlZCBDaGFubmVsIFBhcmFtZXRlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFtb3VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicm90YXRlQnlDdXJ2ZVUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJvdGF0ZWJ5Y3VydmV1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyb3RhdGVCeVByb2dyZXNzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSb3RhdGVieXByb2dyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogInNpbXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImJsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfc2ltcGxlIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjU3LAogICAgICAgICAgICAtMS4xCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJraW5lZng6OnJpZ2F0dHJpYndyYW5nbGUiLAogICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICJkaXNwbGF5X29wdGlvbnMiOiAie1wic2hvd19qb2ludHNcIjogMSwgXCJzaG93X2xpbmtzXCI6IDAsIFwic29saWRfbGlua3NcIjogMSwgXCJzaG93X2F4ZXNcIjogMCwgXCJzaG93X3NjZW5lX2dlb1wiOiAxfSIKICAgICAgICB9CiAgICB9Cn0=
Lops Transforms To Sops
Extract names and transforms from USD objects and apply it to point attributes in SOPs. This allows for rebuilding the same layout in SOPs. This could be useful for converting manual layout to point instances or efficiently importing layout from external application trough USD format.
Nov 04, 2025 | 20.5.584 | solaris Cooked By: kif
ewogICAgIk9VVCI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvcHl0b3BvaW50czEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDMuMDIsCiAgICAgICAgICAgIC01LjQ2CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJudWxsIgogICAgfSwKICAgICJfX2Nvb2tib29rTWV0YSI6IHsKICAgICAgICAiY29udGV4dCI6ICJzb3AiLAogICAgICAgICJ2ZXJzaW9uIjogIjIwLjUuNTg0IgogICAgfSwKICAgICJib3gxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpdnJhdGUiOiBbCiAgICAgICAgICAgICAgICAyLAogICAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgICAgIDIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNjYWxlIjogMiwKICAgICAgICAgICAgInR5cGUiOiAicG9seW1lc2giCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImJveCIKICAgIH0sCiAgICAiY29weXRvcG9pbnRzMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJtZXJnZXBhY2tlZDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzdHJpcF90cmFpbGluZ19kaWdpdHMyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDEKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAidGFyZ2V0YXR0cmlicyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYXBwbHlhdHRyaWJzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIiosXnYsXkFscGhhLF5OLF51cCxecHNjYWxlLF5zY2FsZSxeb3JpZW50LF5yb3QsXnBpdm90LF50cmFucyxedHJhbnNmb3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5bWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5dG8jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlYXBwbHkjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYXBwbHlhdHRyaWJzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIkFscGhhIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5bWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIm11bHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHl0byMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VhcHBseSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJhcHBseWF0dHJpYnMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAidiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseW1ldGhvZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJhZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHl0byMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VhcHBseSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ1c2VpZGF0dHJpYiI6IHRydWUKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMy4wNCwKICAgICAgICAgICAgLTMuNzIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImNvcHl0b3BvaW50czo6Mi4wIgogICAgfSwKICAgICJleHRyYWN0Y2VudHJvaWQyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImxvcGltcG9ydDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwYXJ0aXRpb250eXBlIjogInByaW1pdGl2ZXMiLAogICAgICAgICAgICAidHJhbnNmZXJhdHRyaWJ1dGVzIjogInBhdGggbmFtZSIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNC43NCwKICAgICAgICAgICAgLTAuNTYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImV4dHJhY3RjZW50cm9pZCIKICAgIH0sCiAgICAiZ2V0X3RyYW5zZm9ybV9mcm9tX3VzZCI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJleHRyYWN0Y2VudHJvaWQyIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibG9wX2xheW91dCI6ICIuLi9sb3BuZXQxL09VVCIsCiAgICAgICAgICAgICJzbmlwcGV0IjogIjNAdHJhbnNmb3JtID0gdXNkX3dvcmxkdHJhbnNmb3JtKFwib3A6XCIrY2hzKFwibG9wX2xheW91dFwiKSwgc0BwYXRoKTsiCiAgICAgICAgfSwKICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJ2ZXhfdGhyZWFkam9ic2l6ZSIsCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyX2dlbmVyYXRlZHBhcm1zX3NuaXBwZXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJHZW5lcmF0ZWQgQ2hhbm5lbCBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9wX2xheW91dCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTG9wIExheW91dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogInNpbXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImJsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfc2ltcGxlIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA0Ljc0LAogICAgICAgICAgICAtMS43MgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAibG9waW1wb3J0MSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJsb3BwYXRoIjogIi4uL2xvcG5ldDEvT1VUIiwKICAgICAgICAgICAgInByaW1wYXR0ZXJuIjogIioiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDQuNzQsCiAgICAgICAgICAgIDAuNQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibG9waW1wb3J0OjoyLjAiCiAgICB9LAogICAgImxvcG5ldDEiOiB7CiAgICAgICAgImNoaWxkcmVuIjogewogICAgICAgICAgICAiT1VUIjogewogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJ0b3J1czEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIC0wLjk5LAogICAgICAgICAgICAgICAgICAgIC0wLjI2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImJveDEiOiB7CiAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDQ1LjM5Njc1Nzc5MTUxNTczLAogICAgICAgICAgICAgICAgICAgICAgICA5LjQ3MzEyNzY2MzY4Mjg1LAogICAgICAgICAgICAgICAgICAgICAgICAtMjYuMDQ1Mjc3MjMyNDA2ODA0CiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAtMC45NiwKICAgICAgICAgICAgICAgICAgICAzLjA4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAiY3ViZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInRvcnVzMSI6IHsKICAgICAgICAgICAgICAgICJlZGl0YWJsZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInNvcG5ldC9jcmVhdGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b3J1czEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyYWQiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjI1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9ydXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImJveDEiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICJyIjogWwogICAgICAgICAgICAgICAgICAgICAgICA0Ni42NDEyODQwNjMzMzAwMjYsCiAgICAgICAgICAgICAgICAgICAgICAgIDIxLjE5MDA4MjQ2MjIxMjc4MiwKICAgICAgICAgICAgICAgICAgICAgICAgLTE3LjY4NzY5NDY5OTcwNzE2NgogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDAuNTA5NjU4OTE0NTgzOTU3OCwKICAgICAgICAgICAgICAgICAgICAgICAgMC42OTMzNjQxNDg5ODczMjksCiAgICAgICAgICAgICAgICAgICAgICAgIDAuODAwMTQ5MTMwMjI5NjY5OQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgLTAuOTksCiAgICAgICAgICAgICAgICAgICAgMS4zMQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInNvcGNyZWF0ZSIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA0Ljc0LAogICAgICAgICAgICAxLjkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImxvcG5ldCIKICAgIH0sCiAgICAibWVyZ2VwYWNrZWQxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImJveDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ0b3J1czEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJuYW1lcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJib3giLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidHJlYXRhc2ZvbGRlciMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VpbnB1dCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogInRvcnVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInRyZWF0YXNmb2xkZXIjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlaW5wdXQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuMzMsCiAgICAgICAgICAgIC0xLjYyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJtZXJnZXBhY2tlZCIKICAgIH0sCiAgICAic3RyaXBfdHJhaWxpbmdfZGlnaXRzMiI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJnZXRfdHJhbnNmb3JtX2Zyb21fdXNkIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic25pcHBldCI6ICIvLyBTdHJpcCB0cmFpbGluZyBudW1iZXJzIGFuZCB1bmRlcnNjb3JlK251bWJlcnMgZnJvbSBuYW1lIGF0dHJpYnV0ZVxuLy8gZS5nLiBcImFwcGxlMlwiIC1cdTAwM2UgXCJhcHBsZVwiLCBcImFuZW1vbmUyXzAwMVwiIC1cdTAwM2UgXCJhbmVtb25lXCIsIFwiYXBwbGUzXzAwNFwiIC1cdTAwM2UgXCJhcHBsZVwiXG5zdHJpbmcgb3JpZ2luYWxfbmFtZSA9IHNAbmFtZTtcbnN0cmluZyBjbGVhbmVkX25hbWUgPSBvcmlnaW5hbF9uYW1lO1xuXG4vLyBGaXJzdCwgc3RyaXAgdW5kZXJzY29yZSBmb2xsb3dlZCBieSBkaWdpdHMgKGUuZy4gXCJfMDAxXCIsIFwiXzAwNFwiKVxuaW50IHVuZGVyc2NvcmVfcG9zID0gLTE7XG5pbnQgbGVuID0gbGVuKGNsZWFuZWRfbmFtZSk7XG5cbi8vIEZpbmQgdGhlIGxhc3QgdW5kZXJzY29yZSBmb2xsb3dlZCBvbmx5IGJ5IGRpZ2l0c1xuZm9yIChpbnQgaSA9IGxlbiAtIDE7IGkgXHUwMDNlPSAwOyBpLS0pIHtcbiAgICBpZiAoY2xlYW5lZF9uYW1lW2ldID09IFwiX1wiKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhpcyB1bmRlcnNjb3JlIGlzIGRpZ2l0c1xuICAgICAgICBpbnQgYWxsX2RpZ2l0cyA9IDE7XG4gICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiBcdTAwM2MgbGVuOyBqKyspIHtcbiAgICAgICAgICAgIGlmICghaXNkaWdpdChjbGVhbmVkX25hbWVbal0pKSB7XG4gICAgICAgICAgICAgICAgYWxsX2RpZ2l0cyA9IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbF9kaWdpdHMgXHUwMDI2XHUwMDI2IGkgKyAxIFx1MDAzYyBsZW4pIHsgLy8gTWFrZSBzdXJlIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIGRpZ2l0IGFmdGVyIHVuZGVyc2NvcmVcbiAgICAgICAgICAgIHVuZGVyc2NvcmVfcG9zID0gaTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHJpcCB0aGUgdW5kZXJzY29yZSBhbmQgdHJhaWxpbmcgZGlnaXRzIGlmIGZvdW5kXG5pZiAodW5kZXJzY29yZV9wb3MgXHUwMDNlPSAwKSB7XG4gICAgY2xlYW5lZF9uYW1lID0gY2xlYW5lZF9uYW1lWzA6dW5kZXJzY29yZV9wb3NdO1xufVxuXG4vLyBOb3cgc3RyaXAgYW55IHJlbWFpbmluZyB0cmFpbGluZyBkaWdpdHMgZnJvbSB0aGUgYmFzZSBuYW1lXG5sZW4gPSBsZW4oY2xlYW5lZF9uYW1lKTtcbmludCBsYXN0X2FscGhhID0gbGVuIC0gMTtcblxuZm9yIChpbnQgaSA9IGxlbiAtIDE7IGkgXHUwMDNlPSAwOyBpLS0pIHtcbiAgICBzdHJpbmcgY2hhciA9IGNsZWFuZWRfbmFtZVtpXTtcbiAgICBpZiAoIWlzZGlnaXQoY2hhcikpIHtcbiAgICAgICAgbGFzdF9hbHBoYSA9IGk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbn1cblxuLy8gRXh0cmFjdCBzdWJzdHJpbmcgdXAgdG8gdGhlIGxhc3Qgbm9uLWRpZ2l0IGNoYXJhY3RlclxuaWYgKGxhc3RfYWxwaGEgXHUwMDNlPSAwKSB7XG4gICAgY2xlYW5lZF9uYW1lID0gY2xlYW5lZF9uYW1lWzA6bGFzdF9hbHBoYSArIDFdO1xufSBlbHNlIHtcbiAgICAvLyBJZiB0aGUgZW50aXJlIHN0cmluZyBpcyBkaWdpdHMsIGtlZXAgaXQgYXMgaXNcbiAgICBjbGVhbmVkX25hbWUgPSBvcmlnaW5hbF9uYW1lO1xufVxuXG4vLyBTZXQgdGhlIGNsZWFuZWQgbmFtZSBiYWNrIHRvIHRoZSBuYW1lIGF0dHJpYnV0ZVxuc0BuYW1lID0gY2xlYW5lZF9uYW1lOyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNC43NCwKICAgICAgICAgICAgLTIuOAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAidG9ydXMxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInJhZCI6IFsKICAgICAgICAgICAgICAgIDAuNSwKICAgICAgICAgICAgICAgIDAuMjUKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjI2LAogICAgICAgICAgICAwLjAzCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ0b3J1cyIKICAgIH0KfQ==
Geometry Parent
Parent one object motion to another in SOPs. Useful for attaching things to animated geometry that comes from Alembic cache.
Nov 04, 2025 | 20.5.584 | animation Cooked By: kif
ewogICAgIkFOSU1BVEVEX0dFTyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ0cmFuc2Zvcm0yIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA1LjYyLAogICAgICAgICAgICAtMi4yMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiT1VUIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMSwKICAgICAgICAgICAgMC43MywKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1lcmdlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNS41LAogICAgICAgICAgICAtMTAuNDYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm51bGwiCiAgICB9LAogICAgIlBPSU5UUyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ0cmFuc2Zvcm0xIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjAxLAogICAgICAgICAgICAtMi4yNwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiUkVTVCI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJjYXB0dXJlX2ZyYW1lIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjM1LAogICAgICAgICAgICAtNC43OQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiX19jb29rYm9va01ldGEiOiB7CiAgICAgICAgImNvbnRleHQiOiAic29wIiwKICAgICAgICAidmVyc2lvbiI6ICIyMC41LjU4NCIKICAgIH0sCiAgICAiYm94MSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJkaXZyYXRlIjogWwogICAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICAgICAyCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0eXBlIjogInBvbHltZXNoIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJib3giCiAgICB9LAogICAgImNhcHR1cmVfZnJhbWUiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiQU5JTUFURURfR0VPIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZnJhbWUiOiAwCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuMzcsCiAgICAgICAgICAgIC0zLjMzCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ0aW1lc2hpZnQiCiAgICB9LAogICAgImV4dHJhY3R0cmFuc2Zvcm0xIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIlJFU1QiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJBTklNQVRFRF9HRU8iLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJvdXRwdXRhdHRyaWJzIjogIm1hdHJpeDQiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDMuNDEsCiAgICAgICAgICAgIC02LjMyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJleHRyYWN0dHJhbnNmb3JtIgogICAgfSwKICAgICJtZXJnZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3RpY2tfdG9fc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIkFOSU1BVEVEX0dFTyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNS40NiwKICAgICAgICAgICAgLTguOTYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1lcmdlIgogICAgfSwKICAgICJwbGF0b25pYzEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAidHlwZSI6IDYKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNS42NCwKICAgICAgICAgICAgLTAuMDgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInBsYXRvbmljIgogICAgfSwKICAgICJzdGlja190b19zdXJmYWNlIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIlBPSU5UUyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIkFOSU1BVEVEX0dFTyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImV4dHJhY3R0cmFuc2Zvcm0xIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic25pcHBldCI6ICJ2ZWN0b3IgcG9zID0gIHBvaW50KDIsIFwiUFwiLCAwKTtcbm1hdHJpeCB0ID0gIHBvaW50KDIsIFwidHJhbnNmb3JtXCIsIDApO1xuXG52QFAgPSB2QFAgKiB0O1xuXG4zQHRyYW5zZm9ybSA9IDNAdHJhbnNmb3JtICogbWF0cml4Myh0KTtcblxuXG4iCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuMjgsCiAgICAgICAgICAgIC03LjgzCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJ3cmFuZ2xlIgogICAgfSwKICAgICJ0cmFuc2Zvcm0xIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImJveDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJyIjogWwogICAgICAgICAgICAgICAgMjkuMzgxMDA1NzEyODY2OTczLAogICAgICAgICAgICAgICAgMC43NDkzMTQxNDQzODM0NjE0LAogICAgICAgICAgICAgICAgLTguNTc2OTg3MTgwMDk5OTU3CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzIjogWwogICAgICAgICAgICAgICAgMC4yNjYyMDM2ODIyNzY2NTMxNCwKICAgICAgICAgICAgICAgIDAuMjY2MjAzNjgyMjc2NjUzMSwKICAgICAgICAgICAgICAgIDAuMjY2MjAzNjgyMjc2NjUzMQogICAgICAgICAgICBdLAogICAgICAgICAgICAidCI6IFsKICAgICAgICAgICAgICAgIC0wLjAyOTU3OTYzOTQzNDgxNDQ1MywKICAgICAgICAgICAgICAgIDAuMzEyNDQ4MTU3NDI0ODQ2MzMsCiAgICAgICAgICAgICAgICAwLjQ4NzgzNjUwNDMzNjI5NjkKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAtMS4xCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ4Zm9ybSIKICAgIH0sCiAgICAidHJhbnNmb3JtMiI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInBsYXRvbmljMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiQEZyYW1lIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJARnJhbWUiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgMAogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDUuNjUsCiAgICAgICAgICAgIC0xLjA5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ4Zm9ybSIKICAgIH0KfQ==