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.

Sweep With Cliff Detection
Separate polygons on sweeped line which angle change rapidly. Practically allow for profile cliff detection which is userful for creating cool looking shapes like outer ring of space station.
Nov 03, 2025 | 20.5.584 | geometry Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInNvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImF0dHJpYnByb21vdGUyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInN3ZWVwMyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImlubmFtZSI6ICJjbGlmZiIsCiAgICAgICAgICAgICJtZXRob2QiOiAibGFzdCIsCiAgICAgICAgICAgICJvdXRjbGFzcyI6ICJwcmltaXRpdmUiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuMTksCiAgICAgICAgICAgIDIuNDYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYnByb21vdGUiCiAgICB9LAogICAgImNpcmNsZTEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZGl2cyI6IDIwMCwKICAgICAgICAgICAgInR5cGUiOiAicG9seSIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4xOSwKICAgICAgICAgICAgNy42MgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY2lyY2xlIgogICAgfSwKICAgICJjb2xvcjEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3BsaXRfY2xpZmZzIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJjb2xvciIKICAgIH0sCiAgICAiZmluZF9jbGlmZiI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJwc2NhbGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic25pcHBldCI6ICJmbG9hdCBwcmV2X3BzY2FsZSA9IHBvaW50KDAsIFwicHNjYWxlXCIsIEBwdG51bS0xKTtcbmZsb2F0IGRpZmYgPSBAcHNjYWxlIC0gcHJldl9wc2NhbGU7XG5cbmlmIChhYnMoZGlmZikgXHUwMDNlIDAuMDEpIHtcbiAgICBAY2xpZmYgPSAxLjA7XG59IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxLjE5LAogICAgICAgICAgICA0LjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgIm1lcmdlMSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvbG9yMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNwbGl0X2NsaWZmcyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDEsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4zMSwKICAgICAgICAgICAgLTEuMDcKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1lcmdlIgogICAgfSwKICAgICJwc2NhbGUxIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC44LAogICAgICAgICAgICAwLjAyLAogICAgICAgICAgICAwLjAyCiAgICAgICAgXSwKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVzYW1wbGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicHNjYWxlIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuMTIzMjIyNzQ1OTU0OTkwMzksCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4yMTc5NDg3MTk4NTkxMjMyMwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImNvbnN0YW50IiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC4yNDQyMzU2OTQ0MDg0MTY3NSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjUwMzI0NjcyNDYwNTU2MDMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNDQ4MjQ5NjA4Mjc4Mjc0NTQsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC43OTQ4NzE4MDcwOTgzODg3CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjUxNDA5MDUzODAyNDkwMjMsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4zMTE2ODgzMDM5NDc0NDg3MwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImNvbnN0YW50IiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41Nzk3Nzg4NTAwNzg1ODI4LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuODA3NjkyMjg5MzUyNDE3CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjgxMDQxODQyNjk5MDUwOSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjI3OTIyMDc4OTY3MDk0NDIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuODg3Mjc1ODE1MDEwMDcwOCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjkzNTUyNTE3ODkwOTMwMTgsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4zMjQ2NzUzMjE1Nzg5Nzk1CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogImZAcHNjYWxlID0gY2hyYW1wKFwicHNjYWxlXCIsIGZAY3VydmV1KTtcbiIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInZleF90aHJlYWRqb2JzaXplIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdlbmVyYXRlZCBDaGFubmVsIFBhcmFtZXRlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwc2NhbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBzY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmFtcF9mbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJzaW1wbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX3NpbXBsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4xOSwKICAgICAgICAgICAgNS41OAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAicmVzYW1wbGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNpcmNsZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJkb2N1cnZldWF0dHIiOiB0cnVlLAogICAgICAgICAgICAibGVuZ3RoIjogMC4wMjUKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4xOSwKICAgICAgICAgICAgNi42MgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicmVzYW1wbGUiCiAgICB9LAogICAgInNwbGl0X2NsaWZmcyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJhdHRyaWJwcm9tb3RlMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImdyb3VwIjogIkBjbGlmZlx1MDAzZTAiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuMTksCiAgICAgICAgICAgIDEuNDYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInNwbGl0IgogICAgfSwKICAgICJzd2VlcDMiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiZmluZF9jbGlmZiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImNhcGRpdnMiOiAxLAogICAgICAgICAgICAiY2Fwc2NhbGUiOiAwLAogICAgICAgICAgICAiY29scyI6IDMsCiAgICAgICAgICAgICJjb21wdXRldXZzIjogdHJ1ZSwKICAgICAgICAgICAgInJhZGl1cyI6IDAuMjc3LAogICAgICAgICAgICAic2NhbGVyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInN1cmZhY2VzaGFwZSI6ICJ0dWJlIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxLjE5LAogICAgICAgICAgICAzLjQ2CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzd2VlcDo6Mi4wIgogICAgfQp9
Phyllotaxis Sweep Operator
Distributes objects along a curve using phyllotactic spacing principles. Creates organic, natural-looking distributions for scattering elements like leaves, flowers, or other organic features along paths.
Nov 03, 2025 | 20.5.584 | vex Cooked By: snay
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInNvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImFkZDEiOiB7CiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjg2LAogICAgICAgICAgICAxLjU4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhZGQiCiAgICB9LAogICAgImNvcHl0b3BvaW50czEiOiB7CiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzcGhlcmUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiY3JlYXRlX3BoeWxsb3RheGlzX3BvaW50cyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInRhcmdldGF0dHJpYnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICIqLF52LF5BbHBoYSxeTixedXAsXnBzY2FsZSxec2NhbGUsXm9yaWVudCxecm90LF5waXZvdCxedHJhbnMsXnRyYW5zZm9ybSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseW1ldGhvZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJBbHBoYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseW1ldGhvZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJtdWx0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5dG8jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlYXBwbHkjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYXBwbHlhdHRyaWJzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogInYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiYWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5dG8jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlYXBwbHkjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAuOTMsCiAgICAgICAgICAgIC0yLjI5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJjb3B5dG9wb2ludHM6OjIuMCIKICAgIH0sCiAgICAiY3JlYXRlX3BoeWxsb3RheGlzX3BvaW50cyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJhZGQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibWVhc3VyZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJjbGFzcyI6ICJkZXRhaWwiLAogICAgICAgICAgICAibWF4IjogNDksCiAgICAgICAgICAgICJvcmdhbnNpemUiOiAwLjE0LAogICAgICAgICAgICAicHNjYWxlIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjM5CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogImZsb2F0IHAgPSBjaChcIm9yZ2Fuc2l6ZVwiKTtcbmZsb2F0IGwgPSBwcmltKDEsIFwicGVyaW1ldGVyXCIsIDApO1xuZmxvYXQgZGVsdGFzID0gMC4wMDE7XG5cbmZsb2F0IGEgPSAwO1xuZmxvYXQgcyA9IDA7XG5mbG9hdCB4ID0gMDtcbmZsb2F0IHkgPSAwOyBcblxuZmxvYXQgcGhpID0gcmFkaWFucygxMzcuNSk7XG52ZWN0b3IyIHV2ID0gezAsMH07XG52ZWN0b3IgcG9zID0gezAsMCwwfTtcbmludCBpID0gMDtcbm1hdHJpeDMgbSA9IGlkZW50KCk7XG5cbndoaWxlKCBzIFx1MDAzYyBsICl7XG4gICAgZmxvYXQgbnAgPSBwKmNocmFtcChcInBzY2FsZVwiLCBzL2wpO1xuICAgIHdoaWxlKGEgXHUwMDNjIDEgXHUwMDI2XHUwMDI2IHMgXHUwMDNjIGwpe1xuICAgICAgIHV2ID0gc2V0KHMvbCwwKTtcbiAgICAgICBwb3M9cHJpbXV2KDEsIFwiUFwiLCAwLCB1dik7XG4gICAgICAgeCA9IHBvc1swXTtcbiAgICAgICBcbiAgICAgICBhID0gYSArICgyKngvcG93KG5wLDIpKSAqIGRlbHRhcztcbiAgICAgICBzID0gcyArIGRlbHRhcztcbiAgICAgICBcbiAgICB9XG4gICAgYT1hLTE7XG4gICAgeT1wb3NbMV07XG4gICAgcG9zID0gc2V0KHgseSwwKTtcbiAgICBcbiAgICBtID0gaWRlbnQoKTtcbiAgICByb3RhdGUobSwgaSpwaGksIHNldCgwLDEsMCkpO1xuICAgIHBvcyA9IG0qcG9zO1xuICAgIFxuICAgIGludCBucG50ID0gYWRkcG9pbnQoMCwgcG9zKTtcbiAgICBzZXRwb2ludGF0dHJpYigwLCBcInBzY2FsZVwiLCBucG50LCBucCwgXCJzZXRcIik7XG4gICAgaSsrO1xuICAgIFxufVxuXG5cblxuXG5cbiIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogInZleF90aHJlYWRqb2JzaXplIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdlbmVyYXRlZCBDaGFubmVsIFBhcmFtZXRlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1heCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnYW5zaXplIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPcmdhbnNpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBzY2FsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUHNjYWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X2NvbnRyb2xzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyYW1wX2Zsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogInNpbXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImJsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfc2ltcGxlIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxLjI5LAogICAgICAgICAgICAtMC42MwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiY3VydmUxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImNvcm5lcnB0cyI6ICIwIDMiLAogICAgICAgICAgICAibW9kZSI6IDAsCiAgICAgICAgICAgICJvcHR5cGUiOiAidHJhbnNmb3JtIiwKICAgICAgICAgICAgInBhcm1wb2ludHMiOiB7CiAgICAgICAgICAgICAgICAiZ2VvbWV0cnkiOiAiZUA7X01WcH1UITN1YjktV3AtdDliN15tR0NJQmt8MnJANyhINyskY0ckc0tuMHRqZWZiN15qNVdxMms2RilJVEthQnBkRGJZcExJWmdlSUM1Z3t1QzN3Qzk0YlkqeUJaKl57VENJa0B4RCtMYTRhJXBYOGJaS15GVntkaENiUzRFNjA0b0xyWFx1MDAzZU1rM0NJKSplMk1CMHliOThRRFpEbDQwRCttS1pNTVdrRUQrdlQtVlJVNkMyYGRUe0dCN2VWRWlvYEhHQnFHRUgjIyNvSXgjUk4zTVx1MDAyNmYrVlJDZTdiOTUjUEQrfm00WmVlKlEzQFolP2I4bHZKY1ZUajZDSmllTjVKKyF6V05CX2BBVGxzNkg3KyRjRyRzeCE0K2RneWIjNyNIQ0ojVXYxXkBzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNG9wP1ZSVXFJWFx1MDAzY35KQlduWGkzWkVhejRjX3Q3aV4zRE11QVJyKCFHOVlrb1hcdTAwM2VOMk5WUlVxSVhcdTAwM2N+SkJXcGc/U1oqcFgxYXg1VFdXTXB1M2IxV2NvWipee0RWe2RZOVdwWisxV05DR0NFRmYpUlhcdTAwM2VOMzNYXHUwMDNlTT9EWFx1MDAzZU4yWkFhOEpWZDJuU2NBWSpUQ2M0Y3lPVnw4K05XcGdZYlZRX0dBWitLO0hXT1FMfVhKdX01YjFXY3BaKVM5S2EkI1x1MDAzY0JXXlp6QkVGZldaYlpcdTAwM2VCVWIxV2NtWSstST9aZiRIVkFhOFlhYUNMTmFkMm5TY0FaVEgzV05jK3tGXHUwMDNlcjVsRUZmfWtiWVhPNUVGZldIYlpLXkZhQl52RkVGZkBjYzVpZllaKiphRldoQHxKYiMhbEhXcU42NGF4NVRGRUZnMWpaKk8jSGFDQ0RsQVpUSDNXTmMre0ZtUHtrRUZmfWtiIzcjMVoqcCNCYVx1MDAyNlVCV0VGZmNWWmdYXlVWUUZyMmJhRyo3WEp+WH5aWVx1MDAyNl5sYSQjXHUwMDNjQlkrLWF8RUZmdWFiWSpnSVpEbis1Wik3WVdiN2cwM1dvfnEwV3FONjRhJHtfN2I3ZD9iYUF8Z0xiYVpsSVpnWHM1YlkoMGNYa2woLVktTW1WYUJwKWdBYUhEOVplPyRCWD1mfVRWUGtZQGM0Y3NIWFx1MDAzZU4zTEVGZnJNWmUobV9hQ0NEbEFhaTQzWS1LRFViOGx2SmJhRypDYjdwVUhaRXw1YEVGZmNWYVx1MDAyNkJkRWFDQ0REQVJyKGhBVGMwa1k7Ulx1MDAyNj1ZIz9FRGJhSDg4YiMhSE9JdGd9UmFcdTAwMjYyTDczVmthUDJ5fTA3Wil8VThjX3RCQ0Qtc0JCWil0OUhhJUU7RjU/ZD0xMldmNihYPTd6YENLRXNzMDl7PXg2YmZOXHUwMDNjYmFIODhiIyFIT0NLT3ZNNiVUTjRYXHUwMDNlTjMzYmFabFFWc1x1MDAyNig3YjAhc0FUVSNwQDEjQEZcdTAwM2VhQWhWSUQ7RVpFYnoqRjNWXHUwMDNjczBYN3pBe0FhQWhWS0Q7V29GYiF9eUdYPTVmQ0Q7ZmxEVlFwbjU4WVx1MDAzZSRDUCRuQkk5MHpaM2JaS3ZIYjAhXHUwMDNlbkNLITdyNyVMcUhiOThjUFpmN1BQRDtAPVFWUWg2fUNMU3Z2MSNvWF5aZ2VJZWVTS1k5RFx1MDAzY0F9T1g/a1RRQVExeUFBcVI3R1oqcE8wV2hObWpBXyEpMWElRXZgR2NxUDNEXHUwMDNjY1NHV29CVkBZO1x1MDAzYyFiQlVcdTAwM2VnUTVka0o0RFx1MDAzY2xZSmFCXml+WVx1MDAyNko5fEJyN0ViYzQySUZXcGdHYUtwRnU2MDAwMDAwMDAxOENNOD1ZQVExeTVBdG9YI0NKMW4wWEp2Q35kU3hhaTVcdTAwMjYjNCVDbE9cdTAwM2NCWmdYXkRaZ2c7QVhKdXc9VlB8dERDdEUtZTBSYUYyMDlgOTYzdnl3MWFBOVhcdTAwM2NXTU9uK0NNWkF8MHt7UjMwMDAwMDAwMDAwMDl7XHUwMDNlT1RVI2E7Q0tvMGNDTEpha0Q9Nz9OVnt+YkRXcEhuNFpnZ2BkREpDM3llTys1N0FRMXMzQXVCMmNYXHUwMDNlTjJnR0ExZjNEK2hDUWElcGE3YjAjWldEPVk7dEFUdUJ+Q00rdjAwV2M7bEQ9cTt4Q04zKjQwV1x1MDAzZUJyRD0rfndDTkx7ODBXfkh1RFx1MDAzZTRCeENOZlx1MDAzY242SVx1MDAyNilBNWRrSjRDTXFULTVcdTAwMjYjNHlDX29iLXxOc0MwfE5zQzAwMDAwMDBSUjkxMFJSOTEwc3NJMjBzc0kyMHt7UjMxT05hNDBSUjkxMU9OYTQxT05hNDBzc0kyMHNzSTIwc3NJMjBzc0kyMU9OYTQxT05hNDFPTmE0MU9OYTQxcG9qNTFPTmE0MXBvajUxcG9qNTFwb2o1MV5AczYwUlI5MTFwb2o1MHt7UjMwUlI5MTBSUjkxMXBvajUxT05hNFUwcSNVVFA3QUo3Ylh9Yzg3M01sR1lWbTJiWkteRmFCXnZGQ05tfStkbk9vckNLeDZpQ0xTdl42XHUwMDNlZXtDVlJDNzdYbC1TNVg9N2gkWmdnZDVXcFhBb2VTS1k5Q0xqPzNDTHR5XHUwMDI2Q0xcdTAwM2UhV0FRMXMzQXVCWm5YXHUwMDNlTjJqRyR1N0JCfHNEYjAwMDAwMDAwMDBUX3o9NENMaj8zQ0x0eVx1MDAyNkNNRlU5MVNUaDJLbzlgfDAwMDE4Q01aQT8wUlI5MTA5e1x1MDAzZU9UVSNhO0NLbzBjQ0xKYWtEXHUwMDNlZXBVV01wdTNiMCMoXHUwMDNlOUQ5OVRUUDdlODBWV3xQRGtkdmlEXHUwMDNldCstRS0pfU1HQzRMZ0ghP1JrR0JoKGRJWE5cdTAwM2VtRUhFeEpJNWFzakdkVkNkRio3dFdGZmxNU0VIRXhHQVRUYTRGZnVZWkhad09lSCNqbWhHZE1YcEdjX3pRRTtCZVpJV2pYakZmfW5WRyVfJFRGZn1ZTkUtKVo0RS1eR1JJVztqY0gjSWRrRmY9JGZJWEVtWkU7QkpPSVhGMnZJNVJVaElYRTtoSTVqTFZFLSlaNEUtXkFUSCE/OWRIYVJzbkYqN2hVR2NxaE5FOzJBVUdCN2hZSVdqZGpHQjdlUkdcdTAwMjZuM1VFLSlZX0ghQz1iRmZLN01GZj0oYkdkNDNkSCE/OVlGZzdcdTAwM2NWRmZLN0xIOGUzZEhaVkNkRipHK2dHQitfU0ZmSzQ0RmZLNEtIOTBVY0lXUlJqR1x1MDAyNm5SaUZmbE1QRUhFeEdGZmNlV0k1OUxhSTUjamZHJWAwZ0gjc2FZRS0pWjRFLSl9UElXUklnRmZ9XHUwMDNjZUk1YWplRiklVkxGZks0S0ZnUCtlRipHcWFIIXc2YkdCLUNqSVZcdTAwM2VcdTAwM2NQRmQheTREXHUwMDNlKiRkRTsyQU1JNTBDYkYqN3dkSVcjdmlHY196UUU7dXFXSVcjc21HJXpcdTAwM2NlSTVqbWVGKVQxSEZkIzU0SDg/WGhJV1JYbEYpJVNYSVhOXmxDT0tVdTZJXHUwMDI2KUE1ZGtKNENNcVQtNVx1MDAyNiM0eUNfb2ItMDAwMDAwUlI5MXxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzAwc3NJMnxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwfE5zQzB8TnNDMHxOc0MwVTBxI1VUUDdBSjdiWH1jODczTWxJdVQpVGFCXlx1MDAzZVdXb340MlZReXotWmdnYGRJd2wtQENLITdyNyR6TWk5d3N6XHUwMDNlZU8rNTdBUTFzM0F0b3ZcdTAwMjZCVVx1MDAzZWdRNWRrSjRDTihBe0tva0swMDAwMDAwMDAxOENNOD1ZQVExczNBdG92XHUwMDI2Q0szUHlDTVIxITVDSClJMDAzUGtDX29iZDAwMDAwVTBxI1VUUDdBSjdiWH1jODczTWxJfF5aU2JaPXMxZFRDe0hDT2FrXmRuT29yQ0t4NmlDTFNnXHUwMDNjZVNLWTlDTGo/M0NMdHlcdTAwMjZDTFx1MDAzZSFXQVExczNBdHA1QEJ8c0RiMDAwMDAwMDAwMFRfej00Q0xqPzNDTHR5XHUwMDI2Q01GVTkxU1RoMktvOWB8MDAwMThDTVpBPzBSUjkxMDl7XHUwMDNlT1RVI2E7Q0tvMGNDTEpha0Q/QTViYiMhbFZiYU5cdTAwMjY9Q0xEV3hVMFdzfjVka0o0Q01xVD9UVXttLVRQN2U4MFZXfFBEa2RmcDAwYnJ7VFI7IzIwUlI5MVRfenwlNjlOREt8Tm1XR1UwWWl3N0E2LWE3JHpBZThZP3skVntkTUFiYUcqN1pnWF5VVlFGVipiWSpUUEp0aURgQ0shN3I3JHpNaTl3c3pcdTAwM2VlTys1N0FRMXMzQXRvdlx1MDAyNkJVXHUwMDNlZ1E1ZGtKNENOKEF7S29rSzAwMDAwMDAwMDE4Q004PVlBUTFzM0F0b3ZcdTAwMjZDSzNQeUNNUjEhNUNIKUkwMDNQa0Nfb2JkMDAwMDBVMHEjVVRQN0FKN2JYfWM4NzNNbEpgSDFVWmd5cEliWXBkTGM0YyFXSnwtTXtDSyE3cjckek1pOXdzelx1MDAzZWVPKzU3QVExczNBdG92XHUwMDI2QlVcdTAwM2VnUTVka0o0Q04oQXtLb2tLMTAwMDAwMDAwMThDTTg9WUFRMXMzQXRvdlx1MDAyNkNLM1B5Q01SMSE1Q0gpSTAwM1BrQ19vYmQwMDAwMFUwcSNVVFA3QUo3Ylh9YzlWUXdwS003LVJhXHUwMDI2QmRFYUNDRGZLUERWfGVPKzU3QVExczNBdG92XHUwMDI2RF9iVGxEP2tHXHUwMDNjQVR9bUlEP3RNPUFUdVVHVF96Si1DTGo/M0NMdHlcdTAwMjZDTUZVOTFTVGp6NkN3WnF8Tmo2MDAwMDMxMDAwMzEwMDAzMTAwMDMxMDAwMzEwMDAzMTAwMDMxMDAwMzEwMDAzMTAwMDMxMDAwMzEwMDAzMTAwMDMxMDAwMzEwMDAzMTAwMDYyMDAwNjIwMDA2MjAwMDYyMDAwNjIwMDA2MjAwMDYyMDAwNjIwMDA2MjAwMDYyMDAwNjIwMDA2MjAwMDYyMDAwNjIwMDA2MjAwMDYyMDAzUUdVMFlpdzdBNi1hNyR6QWU4WUBCelhrbCgtWS1NbVRhQnApYUxNOXgwZU8rNTdBUTF5NUF0b1h3QlVcdTAwM2VnUTVka0o0Q0x8XiRLcEZ1NjAwMDAwMDAwMThDTTg9WUFRMXk1QXRvWHdDSzNQeUNNUjEhNUNIKUkwMDNQa0Nfb3RsMDA0bCQwMDAwMDAwMDAwVTBxI1VUUDdBSjdiWH1jODczTWxMa25uT1plKG1fYTR+UmliMCRNMzlEOTlUVFA3ZTgxMTJGUkF8QGtTQ0xqPzNDTHR5eUNNN0BgMFJSOTEwMDAwMDA5X159VFA3ZTgxMTJGUkF8QHNoMDBicntUUjsjMjBSUjkxVF96fCU4M09cdTAwM2NTMDAwMDAwMDAwMDAwM1FHVTBZaXc3QTYtYTckekFlOFlASCNYa2woLVktTW1WYUJwKWFMPyNAMmVPKzU3QVExeTVBdG9Yd0JVXHUwMDNlZ1E1ZGtKNENMfF4kS3BGdTYwMDAwMDAwMDE4Q004PVlBUTF5NUF0b1h3Q0szUHlDTVIxITVDSClJMDAzUGtDX290bDAwNGtMMDAwMDAwMDAwMFUwcSNVVFA3QUo3Ylh9Yzg3M01sTUcwdE9aZShtX2FDQ0RmTUo2MTNDSyE3cjckek1pOXdzelx1MDAzZWVPKzU3QVExeTVBdG92XHUwMDI2QlVcdTAwM2VnUTVka0o0Q04oQXtLb2tOMHxOc0MwfE5zQThDTTg9WUFRMXk1QXRvdlx1MDAyNkNLM1B5Q01SMSE1Q0gpSTAwM1BrQ19vYmZ8TnNDMHxOc0MwfE5zQzBVMHEjVVRQN0FKN2JYfWM4NzNNbE1odDBnYlkqZ0laRG4rNVopN0ckQ0xEVnY3XHUwMDNjKG9kQ0xKYW9DTnpEMFUwV3N+NWRrSjRDTXFUKVRQN2U4MFZXfFBINnxyTTZhZkdMMDAwMDAwMDNQa0MwaXlTNWRrSjRDTXFULTVcdTAwMjYjNHlDdEUtZTBSYUYyMDlfXzFLb2JEfjAwMDE4VTBxdlNDS2VfYUNLeDZlQ0tAWTg0USpqKlpnZ1IzWmc2akRaZ2VJYENMRFZ2N1x1MDAzYyhvZENMSmFvQ056RDBVMFdzfjVka0o0Q01xVClUUDdlODBWV3xQSDZ8ck02YWZHTDAwMDAwMDAzUGtDMGl5UzVka0o0Q01xVC01XHUwMDI2IzR5Q3RFLWUwUmFGMjA5X18xS29iRH4wMDAxOFUwcXZTQ0tlX2FDS3g2aUNLQFk5MjUpZTVkMm5TV05HMlM2ZU8rNTdBUTFzM0F0b3ZcdTAwMjZEX2JpYDN0QDBAV29+M31aKXQ5SENQXnp3MzNQSHtaZ1hhRGFcdTAwMjYwQ2BEQHo3c1dvJWAxV2hQNTJPYV5JZ2I3Z1hMQ1FNeFx1MDAzZTZJXHUwMDI2KUE1ZGtKNENNcVQtNVx1MDAyNiM0eUNfb2ItMDAwMDAwMDAwMDBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwc3NJMjBSUjkxMFJSOTEwe3tSMzBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxMFJSOTEwUlI5MTBSUjkxVTBxI1VUUDdBSjdiWH1jODczTWxPJEJkcVdNeShETyhxXHUwMDNjQkNLITdyNyR6TWk5d3N6XHUwMDNlZU8rNTdBUTFzM0F0b3ZcdTAwMjZCVVx1MDAzZWdRNWRrSjRDTihBe0tva0s0MDAwMDAwMDAxOENNOD1ZQVExczNBdG92XHUwMDI2Q0szUHlDTVIxITVDSClJMDAzUGtDX29iZDFPTmE0VTBxI1VUUDdBSjdiWH1jOVZRd3BQNn1eemJafldhYmFgLVBDUWM/Q2R3cEc3Q0xqPzNDTHR5XHUwMDI2Q00jUGpQWD1PVGRUQ3tIQ1FuQF42SVx1MDAyNilBNWRrSjRDTXFULTVcdTAwMjYjNHlDdEUtZTBSYUYyMDlfXzFLb2JEfjAwMDE4VTBxdlNDS2VfYUNLeDZlQ0tAWUgzdmcrNloqKzJSYllYTzVDUXYzRWR3cEc3Q0xqPzVDTHR5d0NMXHUwMDNlIVdBUTFzM0F0b2R5QnxzVmgwMDAwMDAwMDAwVF96PTRDTGo/NUNMdHl3Q01GVTkxU1RoMktvOWB8MDAwMThDTVpBfDB7e1IzMDAwMDAwMDAwMDA5e1x1MDAzZU9UVSNhO0NLbzBjQ0spQ2dEXlUoYFg/QWFQYmFHKkNiOEtPQldoUE4zOUQ5OVRUUDdlODExMkZSQXxAa1NDTGo/M0NMdHl5Q003QGAwUlI5MTAwMDAwMDlfXn1UUDdlODExMkZSQXxAc2gwMGJyfEtwQTVJMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOWZVbmdma2kkNTAwMDI4Uj8wb1U2dmFMTzAwMDJcdTAwMjZFOUV9RjZ2YUxPMDAwMXd4elJuVDdnOygwMDAwMUdLKlRcdTAwM2NcdTAwMjY3ZzsoMDAwMDAtX0VTREVcdTAwM2NcdTAwM2N+c2AwMDAyRWx3XHUwMDNlfFx1MDAyNkdnVXFTMDAwMWgjIW8hSTZ2YUxPMDAwMkVsd1x1MDAzZXxVYStXXHUwMDNlLTAwMDJFbHdcdTAwM2V7JFZcdTAwMjZPZ2owMDAxR0sqVDtRJGZRMDEwMDAxX0kyQXJEJGZRMDEwMDAyZT1BYj8tJGZRMDEwMDAyZT1BYkBNQV5TYzYwMDAyRGx3XHUwMDNleyVWXHUwMDI2T2dqMDAwMmU9QWJATkFeU2M2MDAwMmU9QWI/WHo3UmhFMDAwMmU9QWJAWV9cdTAwM2NCRDgwMDAxNyFBKEFDeEtjaj0wMDAyZT1BYkBZX1x1MDAzY0JEODAwMDE3IUEoQUN4S2NrT0s5O14qIUEoQlJRYTMqJUs5O14qIUEoQTlYayRNa0s5O2BIPUFiQDcpVH09TTAwMDFoIyFvejArelx1MDAyNnFoMDAwMUIhQSg5IVx1MDAzZVVscHZqaHNDMlx1MDAzYz9UTStoKzk4RWpoc0JcdTAwMjZgJDBaZit6XHUwMDI2cWgwMDAybmAkMGFTQjBNfCowMDAyJCpiRn5MXHUwMDNlVWxwdmpoc0J2PUFiQDcpVH09TTAwMDE4VTBxdlNDS2VfYUNLeDZlQ0tAWUoyeWtwK1plP3o1WSRqNEI5RDk5VFRQN2U4MTEyRlJBfEBrU0NMaj8zQ0x0eXlDTTdAYDBSUjkxMDAwMDAwOV9efVRQN2U4MTEyRlJBfEBzaDAwYnJ7VFI7IzIwUlI5MVRfenwlODNPXHUwMDNjUzAwMDAwZklrMkwwMDNRR1UwWWl3N0E2LWE3JHpBZThZQCE/YUJOfDJXcDhxNlhDX2w3OUQ5OVRUUDdlODExMkZSQXxAa1NDTGo/M0NMdHl5Q003QGAwUlI5MTAwMDAwMDlfXn1UUDdlODExMkZSQXxAc2gwMGJye1RSOyMyMFJSOTFUX3p8JTgzT1x1MDAzY1MwMDAwMDAwMDAwMDAzUUdVMFlpdzdBNi1hNyR6QWU4WUAlPWFcdTAwMjZMNURiWVx1MDAyNih+Q0xEV3hVMFdzfjVkJFY2Q0wkXHUwMDI2eVRQN2U4MFZXfFBCcWsrNThVWCtSMDAwMDAwMDNQa0MwaXlTNWQkVjZDTCRcdTAwMjYjNVx1MDAyNiM0eUNfb3V3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGdASDF7MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPSEoKW1eXmFKPV9KYWglMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwVTBxI1VUUDdBSjdiWH1jOVZRd3BSU3Q0KmIjNyMxWipwI0JhXHUwMDI2VUJXQ1JIWEpkd3BHN0NMaj8zQ0x0eVx1MDAyNkNNI1FBQ0tGcEdBUTFzM0F0b3ZcdTAwMjZDSzNQeUNNUjEhNUNIKUkwMDNQa0Nfb2JkfE5zQzBVMHEjVVRQN0FKN2JYfWM4NzNNbFJ1T1ZcdTAwM2NiIzcjMVoqcCNCYVx1MDAyNmxwMFg/MWZaUndmKktlTys1N0FRMXMzQXRvWHdCVVx1MDAzZWdRNWRrSjRDTHxeJEtwRnU2MDAwMDAwMDAxOENNOD1ZQVExczNBdG9Yd0NLM1B5Q01SMSE1Q0gpSTAwM1BrQ19vdGowMDAwMFUwcSNVVFA3QUo3Ylh9Yzg3M01sUnxSdXBWUWdoNFMwKV5MZU8rNTdBUTF5NUF0b1h3QlVcdTAwM2VnUTVka0o0Q0x8XiRLcEZ1NjAwMDAwMFBzSXVDTTg9WUFRMXk1QXRvWHdDSzNQeUNNUjEhNUNIKUkwMDNQa0Nfb3RsMDA0a0wwMDRrTDAwNGtMVTBxI1VUUDdBSjdiWH1jODczTWxTUTJ3KFhLaUl9YllmK0NYPVFSX1k7U1hBQ1JpcE1kbk9vckNLeDZpQ0xTZ1x1MDAzY2VTS1k5Q0xqPzNDTHR5XHUwMDI2Q0xcdTAwM2UhV0FRMXMzQXRwNUBCfHNEYjAwMDAwMDAwMDBUX3o9NENMaj8zQ0x0eVx1MDAyNkNNRlU5MVNUaDJLbzlgfDAwMDE4Q01aQT8wUmFGMjA5e1x1MDAzZU9UVSNhO0NLbzBjQ0xKYWtEX0lHMVpFdFVNWG1FNk1DUnJ2TmR3cEc3Q0xqPzNDTHR5XHUwMDI2Q00jUGpTXis5MVN8JV9pRlx1MDAzY21BVFRQN2U4MFZXfFBEa2RmcDAwYnJ8S29jUFYwMDAwMTAwMDAxMDAwMDEwMDAwMTAwMDAxMDAwMDEwMDAwMTAwMDAxMDAwMDEwMDAwMTAwMDAxMDAwMDEwMDAwMTAwMDAxMDAwMDEwMDAwMTAwMDMwfE5zQzB8TnNDMHxOczkyMDAwMDIwMDAwMjAwMDAyMDAwMDIwMDAwMjAwMDAyMDAwMDIwMDAwMjAwMDAyMDAwMDIwMDAwMjAwMDAyMDAwMThVMHF2U0NLZV9hQ0t4NmVDS0BZUzRSZGQxYmFabElaZ1hhRGFcdTAwMjYwRENDTERWdjdcdTAwM2Mob2RDTEphb0NOekQwVTBXc341ZGtKNENNcVQpVFA3ZTgwVld8UEg2fHJNNmFmR0wwMDAwMDAwM1BrQzBpeVM1ZGtKNENNcVQtNVx1MDAyNiM0eUN0RS1lMFJhRjIwOV9fMUtvYkR+MDAwMThVMHF2U0NLZV9hQ0t4NmVDS0BZVDVPWlx1MDAyNjRiYVpsSVpnWGFEYVx1MDAyNjI7OVdGfWxEOUQ5OVRUUDdlODBWV3xQQXxAa1NDTGo/M0NMdHl5Q003QGAwUlI5MTAwMDJzS1YycHpUUDdlODBWV3xQQXxAc2gwMGJyfEtwN3piMDAySiMwMDJKIzAwMkojMDAyS1B5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFNIeTY4U0h5NjhTSHk2OFMjVTBxdlNDS2VfYUNLeDZlQ0tAWVUzM1BIe1pnWHM1YllcdTAwMjYpOENMRFd4VTBXc341ZCRWNkNMJFx1MDAyNnlUUDdlODBWV3xQQnFrKzU4VVgrUjAwMDAwMDAzUGtDMGl5UzVkJFY2Q0wkXHUwMDI2IzVcdTAwMjYjNHlDX291dzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMHlyUldEMDAwMDAwMDAwMEtiRXBTMDAwMDAwMDAwMHhVSnM0MDAwMDAwMDAwMDBuKDI/MDAwMDAwMDAwMDAwMDAwcGopSXEwMDAwMEVuTn5tZk19XHUwMDNlYTAwMDAwMDAwMDBGay1KZzAwMDAwMDAwMDBcdTAwM2NWUTY9MDAwMDAwMDAwMG4lQDtaMDAwMDAwMDAwMDAwMDAwMDAwMDBDUDtJXHUwMDNlMDAwMDAwMDAwMDBGXjkwMDAwMDAwMDAwMDAwMDAwTlV8KEcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPXhVaWcwMDAwMDAwMDAwdGFRe3EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCUi1iQzAwMDAwT2tsa30wMDAwMDAwMDAwOzRJc3swMDAwMDAwMDAwV0w3WGYwMDAwMDAwNGs5MDF2YzFfWGVPbzshdSk0a2NgQj0wMDAwMGJOQDZ4MDAwMDAwMDAwMEIrO0B5MDAwMDAwMDAwMGZaNVNKeipFViswMDAwcTAwMDAwXHUwMDI2ZyVAbjAwMDAwZkV9djQwMDAwMDAwMDAwMDAwMDA/eFc/dDAwMDAwMDAwMDBcdTAwMjZfbW40MDAwMDBVMHEjV0RfIygxWTtSXHUwMDI2PVkrLWJDYSVwMDliWSppVVVSenNSQ0tlX2FDS3g2aUNLQFlXMjZrYWBaRERYR1VuVSVURF97O3tZO1JcdTAwMjZaYjk4Y1BaZkEzNGJTN1lYQ0t4TVcxWVx1MDAyNlAqWSRqblE5eDs3PVUwV3N+NWcjVFlDTXFUP1RQdEReWipYKlphQWhEWkp8SXN9UjlSMyhDU29nTjlBUlUwWD9BNkJaKXQ5SGIwOTR+QVZFVl5ObWZOclBmMVF4UXptMDhXRHNGd1dOXHUwMDNldElBVDJcdTAwMjYxS30xQVFSOHVCb0RgZ21BVnt+YkRXcEh3N1o2R1peQVZFVl5ObWZOclFifG9GV2gtVkxaRERDe2JZVz8zYUJwZERiUmFFMEFXY0NAUEVcdTAwM2NpalBFYiF0UEU7bWxEYHpIUWFCeTtPY3g3XHUwMDI2NmJZWDYxV29+cUhBVDJcdTAwMjYxS35QWHFQZ3E0eEx7dmRlTUAzRmxRem1DQ1hjJXZHYlp+V2FiYWAtUEFUMlx1MDAyNjFQZ1BWXHUwMDNjUmE4YDJQKFx1MDAzZXphRGBeZ0lhJTUkNEFUMlx1MDAyNjFQZnxvaFFZTDlEWTk/fVRiIzcjMVoqcCNCYVx1MDAyNmxwMFg/MWZURWp9UHBQZ1BEdExyK3BwTU4oMmhMYGhYc0NUYzVkN0dyTzZaZT9cdTAwM2NDYmFObXJKfElJK1FjZ3V1UCpoVlVZYiRJUGI4VDtMYlpCc05iMDk0fkFYODBHUGdGPXlSOHVCd0R7VF5DYiMhbFZiYU5tckp8SUM9UjhMUztRem1VSVpYan1SYiM3IzFaKnAjQmFcdTAwMjZVQldBVDJcdTAwMjYxUWNxUCpMX1x1MDAzYyRmUERONXNSOHVCeUR7bUBlWipGc1JhJCN3MWI5OGNIWD1pQTNXb3tyWEp8SUkrUEUlQTtLfWsraVI4bTFuTUBVcGZQOXw/RmEyI29GYlkqZ0laRG4rNVopNn1YSnxJYVx1MDAzZVI3Rnh5Tyt7MmxQZWRrZ0R7XHUwMDI2clVaKkYjRmFcdTAwMjYlKkxhXHUwMDI2fjJOQVQyXHUwMDI2MUxyK2R0TU4oOGxSWlx1MDAzZVx1MDAzYyhRem1nTWF2cFBVV157Q05WUXpDfloqcHhRRWp9UHFQZXhRIVFiQTVyTW9cdTAwMjZeckNVUHJ0QnkoP09iYVpsSVpnWGFEYVx1MDAyNjI7OVdGUmQqQVg4NjlSOFx1MDAyNiR5UEUkcnRRY1k0cEw/XHUwMDI2fTliUVd9U1ZRekQ1VlJVNjZFan1QclFiQTVyT2hIc2RDVWgleDVPUXlIVlJVNjZFan1QcFBnRnJ2TUo5RENiYEVvNlZRZ2d9RWp9UHFMcVNZTUNVekAjQWFINFJaKis4V1ZRekQ1VlJVNjZFan1Qbk5tZnIoUjhtMXNRJXBmck1KOUpFY3A3a05jNWlmWVoqKmFGV2dzbStBVyV0R1BnR0oqUjYkZmxDVWA0KDdIREJeV05jK3tiYU5tckp8SVh6UEREXHUwMDI2YVAqaFZVY2BKR3ZYa2woLVktTW1UYUJwKVVFan1QZkt+NitXTU5sd01QZzVwKER8O0dmVlF5cVx1MDAzZVdwRldZWip3M21KfElYelBERFx1MDAyNmFQJSUoWFF6bTtXZFx1MDAzZVV3QlplKG1fYTU4WGpiMDk0fkFWQChATGArM2NHRWglYkNWVlNcdTAwM2U3STE3flplPyRCWD1mbFVKfEl2YEt+Nlx1MDAzY2FRYnxXOWVKZyR4YUJOfDJXb35WM0FUMlx1MDAyNjFQKXRFaU1OVW1qQ1ZuZV83LTRtRVooP1A3WD1RUkNFan1QWVJhOCR4TU9zTmtRWUxcdTAwM2VaZkdCZmlYS2lJfWJZZitDWD1RUl9ZO1NYQUFUMlx1MDAyNjFRJFx1MDAzY0hqTU5VKmdNT3NOa1FiU0JuUSQ7MyNUX3pKLUNMaj9YQ0x0eVx1MDAyNkNNRlU5MVNUaDJLbzlgfDAwMDE4Q01aQT85e1x1MDAzZU9WMDA5NjEwMElDMjAwUkkzMDBhTzQwMGpVNTAwc2E2MDAjZzcwMDttODAwe3M5MDE1eUEwMUVcdTAwMjZCMDFOO0MwMVdeRDAxZn5FMDFwNUYwMXlCRzAxKkhIMDFeTkkwMjJUSjAyQlpLMDJLZkwwMlRsTTAyY3JOMDJseE8wMnUlUDAyJS1RMDI9QFIwMn19UzAzODRUMDNIQVUwOXtcdTAwM2VPVTBvfUkzVUczMVpFMTlBYzRjIVdmbVx1MDAzZVpDMSEtXHUwMDNjJVdxNGFCNHJ5KzVXb0tuX1dvfnFHWD1RVkplSjJmYmJhSDhLWEp1fTVhJXA5QWR3bk1uWFx1MDAzZU4zN1hKdkEwV3FEXHUwMDNjOGJaS1x1MDAyNkJiOTtSITVPWntMWFx1MDAzZU1uMFdxRFx1MDAzYzhiYUg4QmI5O1NWQ2tcdTAwM2MoQ1dNejE4Wip5c01YXHUwMDNlVlx1MDAzZTZXXHUwMDI2aSpIMDAwMDBUXHUwMDNlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAic2F2ZWRzdGFzaGdlbyI6IHsKICAgICAgICAgICAgICAgICJnZW9tZXRyeSI6ICJlQDtfTVZwfVQhM3ViOS1XcC10OWI3Xm1HQ0lCa3wyckA3KEg3KyRjRyRzS24wdGplZmI3Xmo1V3EyazZGKUlUS2FCcGREYllwTElaZ2VJQzVlRiotM3dDOTRiWSp5QloqXntUQ0lrQFx1MDAyNkQrTGE0YSVwWDhiWkteRlZ7ZGhDYlM0RTYwVkBVc1hcdTAwM2VNazNDSSkqZTJNQjB5Yjk4UURaRGw0MEQrbUtaTU1Xa0VEK3ZULVZSVTZDMmBkVHtHQjdlVkVpb2BIR0JxR0VIIyMjb0l4I1JOM01cdTAwMjZmK1ZSQ2U3Yjk1I1BEK35tNFplZSpRM0BaJT9iOGx2SmNWVGo2Q0ppZU41SisheldOQl9gQVRsczZINyskY0ckc3ghNCtkZ3liIzcjSENKI1V2MkpmbW9LSDhmWktZJGBVSmVtZVx1MDAzY0tMN3YjMER6NjBKU3p8cGFCXnZGVntkaENiWUY5SVpFYXo0Y190N2k4Nlk0YUFScihoQVJyKHlBVk90XHUwMDI2WD1RUkNMdj9hP1dlT2AxNW4qKDZhJXAwOWJZKSsyYiF9fjdhKE5+WkNyQlY1QVJyKHlBYUhNS1pnZTFGYmFabFFWc1x1MDAyNig3YjJcdTAwM2NyNzNMcWRMQVJzWHlYS1pnYFZRZTVfYmFabFFWc1x1MDAyNig3YjJcdTAwM2NyTVV2aDdDWmUoUi1We2RZOVdwWiRJYXwkYUc0UUZ6MWIjUHlFYiF9fjdhKE5+YUNwOTEtQVJyKHpBYUhNS1pnZTFMYVx1MDAyNkw4VGIyXHUwMDNjcUxVdGVLJGJaPWo5YmFNXHUwMDI2YFV0ZS1cdTAwM2ViIzchfFZ7ZFk5V3BaQ3xiYU0pUUQtI0hHWipYc0haKWJUWDZJXHUwMDI2fTMyeWt5e1pnZ15HVytvSXtELXtRNlplKGQ9V3BnR0tLb1NRNDAwOTY1MDBqVUIwMElDNTA5ez14NzdBZlx1MDAzZWJhSDg4YiMhSE9DS2cqTzdZfWY2WFx1MDAzZU4zM2JhWmxRVnNcdTAwMjYoN2IwIXlDVFUjcF8xI0BGXHUwMDNlYUFoVktEO1dsR2J6KkYzVlx1MDAzY3M2WjhVJUVDYUFoVk1EO28hSGIhfXlHWD01ZkVEO3h4RlZRcG41OTRqM0dQJG5ISzl0VXI1YlpLdkhiMCF7cENLYEp0OFlcdTAwM2U/TGI5OGNQWmY3UFJEXHUwMDNjQjFTVlFoNn1DTGsqejEjb1heWmdlSWdlU0tZOURcdTAwM2NUQVFYP2tUUUFgdF5DQkx7UElaKnBPMFdoTnNsQm5XMTNhJUV2YEdjcVA1RFx1MDAzY3VlSVdvQlZAWTtcdTAwM2MhYkMwaXlVNWRrSjZEXHUwMDNjJWtMYUJeaX5ZXHUwMDI2Sjl8Q016Y2ZjNDJJRldwZ0djS3BGdTYwMDAwMDAwMDE4Q01SMWFBYHReN0JQSnYoQ1x1MDAzY3QoMlhKdkN+ZFN4YWs1XHUwMDI2IzQlREdQRjhjV19+NlduXko9VkowYSs4NVFyVUpVKU9USlVqcFowMDhmKkpVKU9USlVqcFowMDcjWDg5eFloUSRHTHowMDdlRnBneClnWShEQDEwMDQqc2AjI1x1MDAzY25wRlYoJW9JTDgtM19uajgyUn1mS29JTHZWNkYpb0pBVWA2Rm9JRzchVTBvfEc1TkIqfVZxdDd5YmFabFFWc1x1MDAyNig3YjAjV1ZUVSNhPUNLKUNnQ0xibW9EPVFMVFV2aDdDWmUoUi1We2RZOVdwWiRJYjAjWSQ5KCNSVlRQN2tBMFZYM1dFQ3AkOWJUY3cwRUdzUHNiOThjUFpmQTJRRW44aEM2XHUwMDNjYTFFNWRrSjZDTStmXHUwMDNlNVx1MDAyNiM0JUUpaXBJWmdYXkRaZ2c7QVhKdXc9VlB8dERFP1lubDBSYUYyMDlfXzJLb2JHfnxOc0E4VTBxI1dEPSFMZ2ElcFg4YlpLXkZiMCNsYVRVI2E/RD0tVH1XcU42NGF6a307YzRhMG9VMFcrTDI2a21+YlkqeFpGK2RVcjAwMDMxMHNzUjUxT05wOTFeX0VFMjRpZSpiN2ZcdTAwM2VFR0I3Sk0xITdAeVhcdTAwM2UlcXNUUDdNU0d6TE90ZFRDe0hDTndLRzEjZmFcdTAwM2VXcFhBcDVkXHUwMDNjcVgxIzUwXmJhTlx1MDAyNilLcEYhODAwMDAwMDAwMDAwMDAwMDBOXzZXMDAwMDAwUHNJdVUwcSEoSHckb1lYXHUwMDNlTjM5YVx1MDAyNkw4VGIwIy1pVFUjYV5EXHUwMDNld1x1MDAzZVlVdHg4MFoobmU5YjAjPWxUUHJ5VWI3Z0YwVnt+YjZaWURXZkRcdTAwM2U/fnZaZnxtQVdwWlU/Q09UVXlJfDZBcUNPYmU4MkxKIzcwMDAwMFUwcSNXVFUjYV5EP0Fja1V2aDdDWmUoOSRaKnAjQmEkaihDYjAkMXBUUDhWTUNPVFV0SjN0VyEwMDAwMDAwMDE4VTBxI1dDazFKNFdNejA7Q2t8XHUwMDNjRGJZKjh7YSVGQ0dhJXA5QWR3bk1qYjk4Y1BaZjlqfmJhSDhCYjk7UiE1b3ZDOFdvS25fWWhgKDVaZ2dwS1dwaklkQ2xHVVZhJXBhN1loYCg1WmdnXktXcGpJZFRfKzdgWmUoUzZhQnAqSWJaS3ZINmxNU2IwMDAwMDA5XiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInNtb290aHB0cyI6ICI1IiwKICAgICAgICAgICAgInNvZnR0cmFuc2Zvcm1yYWQiOiAwLjQ1NDU0NTQ1NDU0NTQ1NDUzLAogICAgICAgICAgICAic3Rhc2hnZW8iOiB7CiAgICAgICAgICAgICAgICAiZ2VvbWV0cnkiOiAiZUA7X01WcH1UITN1YjktV3AtdDliN15tR0NJQmt8MnJANyhINyskY0ckc0tuMHRqZWZiN15qNVdxMms2RilJVEthQnBkRGJZcExJWmdlSUM1ZGJSJDN3Qzk0YlkqeUJaKl57VENJa0B4RCtMYTRhJXBYOGJaS15GVntkaENiUzRFNjA0b0xyWFx1MDAzZU1rM0NJKSplMk1CMHliOThRRFpEbDQwRCttS1pNTVdrRUQrdlQtVlJVNkMyYGRUe0dCN2VWRWlvYEhHQnFHRUgjIyNvSXgjUk4zTVx1MDAyNmYrVlJDZTdiOTUjUEQrfm00WmVlKlEzQFolP2I4bHZKY1ZUajZDSmllTjVKKyF6V05CX2BBVGxzNkg3KyRjRyRzeCE0K2RneWIjNyNIQ0ojVXYyTEojNmUqZ2Rme3tSMn5lKmdkZnt7UjJ+ZSpnZGZ7d29qXHUwMDNlVlJVcUlYXHUwMDNjfkpCV25YaTNaRWF6NGNfdDdpOHozTWNBUnNYeWFCcGREYlJjMUxiYUg4OGIjIUhPSXRmcTtlSmM/TmJaXHUwMDNlQlBZO1J8SUNKfGRKNShzY19YXHUwMDNlTjNLV285TjRUUHFVXHUwMDNlWFx1MDAzZU1kYFZgWHpENkY/RkdVMG97XzNTbzN+YSVwMDliWSppVTZrOTc1NHtcdTAwMjZkM1pnZ1JFYmFIODhiIyFIT0NLWCMtVFBxZD9iN09DQ1doTkZZN1kxOzNWciokK0NLb0ZoMWF4X0RXaE5MYTgzJTU0WkRuJDRWXHUwMDNjczZaOFUkYChaRGw0SkQ7b2hcdTAwMjZDTDFkcDJYQW42WFx1MDAzZVY/R0NMRFZ2N1x1MDAzYyhvZEQ7KS1OYmFIOEtYQ0BzaDl0Q3pgWTt8UU85eEVST2FCcGREYlM1OHRlTys1Q0FPdiUxZFN4YWM1ZCRrQjJYbDA5YSQjcFx1MDAzZUNMdFx1MDAzZSMyeGYze1ducFlIR0ExR2BCTTQrPVc/Xit+YmFOXHUwMDI2blRQN2U4MFZXfFVCblcxM2ElRXZgSFpcdTAwMjYkQURcdTAwM2N1WVlWUWg2fWIwI0d+OFVYK1IwMDAwMDAwM1BrQzBpeVM1ZCRWNkNMJHspMnlrSSVXcGluSVdoTiNQMDBiKjEzdnl3MWFBOVhcdTAwM2NXTU9uK0NNUTR7MDl7XHUwMDNlT1Uwb3xFM1VHMzFaRTE5QWM0YyFXQ3xnfTgxIS1cdTAwM2MlV3E0YUI0cnkrNVdvS25fV29+cUdYPVFWSmVKMmZiYmFIOEtYSnV9NWElcDlBZHduTW5YXHUwMDNlTjM3WEp2QTBXcURcdTAwM2M4YlpLXHUwMDI2QmI5O1IhNU9ae0xYXHUwMDNlTW4wV3FEXHUwMDNjOGJhSDhCYjk7U1ZDa1x1MDAzYyhDV016MThaKnlzTVhcdTAwM2VWXHUwMDNlNldcdTAwMjZpKkgwMDAwMFRcdTAwM2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJzdGFzaGlkIjogIjsiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuNTMsCiAgICAgICAgICAgIDMuODUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImN1cnZlOjoyLjAiCiAgICB9LAogICAgIm1lYXN1cmUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInJlc2FtcGxlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImF0dHJpYm5hbWUiOiAicGVyaW1ldGVyIiwKICAgICAgICAgICAgImNvbG9ycmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogWwogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImxpbmVhciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtZWFzdXJlIjogInBlcmltZXRlciIsCiAgICAgICAgICAgICJ0b3RhbGF0dHJpYm5hbWUiOiAidG90YWxwZXJpbWV0ZXIiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuNTMsCiAgICAgICAgICAgIDEuMTEKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1lYXN1cmU6OjIuMCIKICAgIH0sCiAgICAicmVzYW1wbGUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImN1cnZlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImxlbmd0aCI6IDAuMDQKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi41MywKICAgICAgICAgICAgMi4zMwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicmVzYW1wbGUiCiAgICB9LAogICAgInNwaGVyZTEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicmFkIjogWwogICAgICAgICAgICAgICAgMC41LAogICAgICAgICAgICAgICAgMC41LAogICAgICAgICAgICAgICAgMC41CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzY2FsZSI6IDIsCiAgICAgICAgICAgICJ0eXBlIjogInBvbHltZXNoIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzcGhlcmUiCiAgICB9Cn0=
Ventral Ridges
Embellishes the simple sweeped curve with ridges inspired by the underbelly of some reptiles or worms.
Nov 03, 2025 | 20.5.584 | geometry Cooked By: snay
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInNvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImF0dHJpYmJsdXIxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1lYXN1cmUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYXR0cmlidXRlcyI6ICJjdXJ2YXR1cmUiLAogICAgICAgICAgICAiaXRlcmF0aW9ucyI6IDkKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNC45MSwKICAgICAgICAgICAgLTYuNjQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYmJsdXIiCiAgICB9LAogICAgImNvbnZlcnR2ZGIxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZkYmZyb21wb2x5Z29uczEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJjb252ZXJzaW9uIjogInBvbHkiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDQuOTEsCiAgICAgICAgICAgIC00LjYzCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJjb252ZXJ0dmRiIgogICAgfSwKICAgICJjb3B5dG9wb2ludHM0IjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInRyYW5zZm9ybTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJyZXNhbXBsZTIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJ0YXJnZXRhdHRyaWJzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJhcHBseWF0dHJpYnMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiKixedixeQWxwaGEsXk4sXnVwLF5wc2NhbGUsXnNjYWxlLF5vcmllbnQsXnJvdCxecGl2b3QsXnRyYW5zLF50cmFuc2Zvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHl0byMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VhcHBseSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJhcHBseWF0dHJpYnMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQWxwaGEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAibXVsdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5bWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjY1LAogICAgICAgICAgICAtMS4wNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY29weXRvcG9pbnRzOjoyLjAiCiAgICB9LAogICAgIm1lYXN1cmUxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvbnZlcnR2ZGIxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYXR0cmlibmFtZSI6ICJjdXJ2YXR1cmUiLAogICAgICAgICAgICAiYmFrZWludG9vdXRwdXQiOiB0cnVlLAogICAgICAgICAgICAiY29sb3JyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibGluZWFyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJsaW5lYXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImN1cnZhdHVyZXR5cGUiOiAicHJpbmNpcGFsIiwKICAgICAgICAgICAgImdyb3VwdHlwZSI6ICJwb2ludHMiLAogICAgICAgICAgICAibWVhc3VyZSI6ICJjdXJ2YXR1cmUiLAogICAgICAgICAgICAidG90YWxhdHRyaWJuYW1lIjogInRvdGFsY3VydmF0dXJlIiwKICAgICAgICAgICAgInVtYmlsaWNjdXRvZmYiOiAwLjA3Mjc0MjU2NjE4ODIxNSwKICAgICAgICAgICAgInVzZXJlbWFwcmFuZ2UiOiB0cnVlLAogICAgICAgICAgICAid2lkdGgiOiAxNC4zCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDQuOTEsCiAgICAgICAgICAgIC01LjY0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJtZWFzdXJlOjoyLjAiCiAgICB9LAogICAgIm1lcmdlMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJjb3B5dG9wb2ludHM0IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3dlZXAxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDEKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA0LjkxLAogICAgICAgICAgICAtMi42NAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibWVyZ2UiCiAgICB9LAogICAgInJlc2FtcGxlMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzcGlyYWwxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZG9jdXJ2ZXVhdHRyIjogdHJ1ZSwKICAgICAgICAgICAgImxlbmd0aCI6IDAuMDMxCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDUuMDQsCiAgICAgICAgICAgIDIuMTgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInJlc2FtcGxlIgogICAgfSwKICAgICJyZXNhbXBsZTIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic2V0X3BzY2FsZSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRvdGFuZ2VudGF0dHIiOiB0cnVlLAogICAgICAgICAgICAibGVuZ3RoIjogMC4wNjk4LAogICAgICAgICAgICAidGFuZ2VudGF0dHIiOiAiTiIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi42NSwKICAgICAgICAgICAgLTAuMDQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInJlc2FtcGxlIgogICAgfSwKICAgICJzZXRfY29sb3JfdG9fY3VydmF0dXJlIjogewogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlLAogICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiYXR0cmliYmx1cjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzbmlwcGV0IjogInZAQ2QgPSA1LjAqcG93KGZAY3VydmF0dXJlLDMuMCk7IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA0LjkxLAogICAgICAgICAgICAtNy42OAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAic2V0X3BzY2FsZSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJyZXNhbXBsZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzY2FsZSI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC4wODgwNTAzMTMyOTM5MzM4NywKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjcxMDY2Mzg1NTA3NTgzNjIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJtb25vdG9uZWN1YmljIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC45NTI4MzAxOTU0MjY5NDA5LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuNzcwNDUzMjE0NjQ1Mzg1NwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNuaXBwZXQiOiAiZkBwc2NhbGUgPSBjaHJhbXAoXCJzY2FsZVwiLCBmQGN1cnZldSk7IgogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAidmV4X3RocmVhZGpvYnNpemUiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZvbGRlcl9nZW5lcmF0ZWRwYXJtc19zbmlwcGV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiR2VuZXJhdGVkIENoYW5uZWwgUGFyYW1ldGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjYWxlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTY2FsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmFtcF9mbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJzaW1wbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX3NpbXBsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi42NSwKICAgICAgICAgICAgMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAic3BoZXJlMSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJyYWQiOiBbCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAwLjUKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInNjYWxlIjogMC4yMTcsCiAgICAgICAgICAgICJ0eXBlIjogInBvbHltZXNoIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAxCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzcGhlcmUiCiAgICB9LAogICAgInNwaXJhbDEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicmFkaXVzaW5jcmVhc2VwZXJ0dXJuIjogMC4yOTE2NjY2NjY2NjY2NjY3LAogICAgICAgICAgICAidHVybnMiOiAyLjMKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNS4wNCwKICAgICAgICAgICAgMy4zMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAic3BpcmFsIgogICAgfSwKICAgICJzd2VlcDEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVzYW1wbGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYWRkZW5kY2Fwc2dyb3VwIjogdHJ1ZSwKICAgICAgICAgICAgImFwcGx5c2NhbGUiOiB0cnVlLAogICAgICAgICAgICAiY29scyI6IDI0LAogICAgICAgICAgICAiZW5kY2FwdHlwZSI6ICJncmlkIiwKICAgICAgICAgICAgInJhZGl1cyI6IDAuMDk4LAogICAgICAgICAgICAic2NhbGVyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibW9ub3RvbmVjdWJpYyIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4zMzMzMzMzNDMyNjc0NDA4CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAibW9ub3RvbmVjdWJpYyIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuMDQ0NDQ0NDQxNzk1MzQ5MTIsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjg5MjA2MzQ5ODQ5NzAwOTMsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogIm1vbm90b25lY3ViaWMiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjk5OTk5ODk4NjcyMTAzODgsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4yMzMzMzMzMzQzMjY3NDQwOAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic3VyZmFjZXNoYXBlIjogInR1YmUiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDUuMDQsCiAgICAgICAgICAgIDEuMDMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN3ZWVwOjoyLjAiCiAgICB9LAogICAgInRyYW5zZm9ybTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3BoZXJlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAtMC4wNjMsCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgMAogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInhmb3JtIgogICAgfSwKICAgICJ2ZGJmcm9tcG9seWdvbnMxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1lcmdlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInZveGVsc2l6ZSI6IDAuMDEKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNC45MSwKICAgICAgICAgICAgLTMuNjMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInZkYmZyb21wb2x5Z29ucyIKICAgIH0KfQ==